0

我正在尝试使用 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>

但是 acceleoCompiler 似乎很难找到“com.company.MyAcceleoPackage”。它可以在 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

有什么想法可以继续吗?

问候,迈克尔

4

1 回答 1

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" />
于 2013-08-13T18:26:53.450 回答