如何指定acceleoCompiler ant任务的类路径来编译mtl文件

时间:2013-08-12 19:31:32

标签: ant classpath acceleo

我正在尝试使用Ant任务编译Acceleo mtl文件:

<target name="compileEmtsFiles">
    <echo>...... Running Acceleo mtl=emtl file compilation</echo>
    <acceleoCompiler 
        sourceFolder="src/main/java" 
        outputFolder="build/classes/main" 
        binaryResource="false" 
        dependencies="" 
        packagesToRegister="com.company.MyAcceleoPackage">
    </acceleoCompiler>
    <echo>...... Finished Acceleo mtl=emtl file compilation</echo>
</target>

但是,如果找到“com.company.MyAcceleoPackage”,那么acceleoCompiler似乎有问题。它可以在src / main / java中找到,但我不知道如何为acceleoCompiler指定一种类路径:

 [echo] ...... Running Acceleo mtl=emtl file compilation
 [acceleoCompiler] com.company.MyAcceleoPackage

 BUILD FAILED
 C:\path\build.acceleo.xml:24: com.company.MyAcceleoPackage

我有什么想法可以继续吗?

此致 迈克尔

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。我需要将bin文件夹添加到taskdef的类路径中:

<path id="acceleoClasspath">
    <!-- for org.eclipse.acceleo.parser_?.jar etc-->
    <fileset dir="libs">
        <include name="**/*.jar" />
    </fileset>
    <pathelement path="bin"/>
</path>

<taskdef id="acceleoCompiler" name="acceleoCompiler" 
    classname="org.eclipse.acceleo.parser.compiler.AcceleoCompiler" 
    classpathref="acceleoClasspath" />