尝试在Ant Builder中使用AcceleoCompiler。当我用ant构建时,我得到以下错误:
compile:
[acceleoCompiler] eINSTANCE
BUILD FAILED
C:UsersrandomworkspacefoobarFrameworkbuildstandalone.xml:52: eINSTANCE
这里是我如何定义我的目标和其他一些信息可能是重要的。我对蚂蚁和加速度很陌生。如果您还需要其他信息,请告诉我。我不确定下面的任何一个是正确的,如果有什么我需要改变的,请告诉我。它抱怨的那行是packagesToRegister="org.eclipse.acceleo.parser.compiler.AcceleoCompiler">
,我不知道那行是否正确,我只是猜测。
<path id="Framework.classpath">
<path refid="Framework.libraryclasspath"/>
</path>
<taskdef id="acceleoCompiler" name="acceleoCompiler" classname="org.eclipse.acceleo.parser.compiler.AcceleoCompiler"
classpathref="Framework.libraryclasspath">
</taskdef>
<target name="compile">
<acceleoCompiler sourceFolder="${SOURCE_FOLDER}"
outputFolder="${OUTPUT_FOLDER}"
dependencies=""
binaryResource="true"
packagesToRegister="org.eclipse.acceleo.parser.compiler.AcceleoCompiler"></acceleoCompiler>
</target>
packagesToRegister
行是对元模型包的引用。例如,如果您的生成器使用UML元模型,您应该注册包org.eclipse.uml.uml2。UMLPackage(或类似的东西),您可以看到在生成器的Java启动器类的registerPackage
方法中注册所需的包。AcceleoCompiler不是一个要注册的包(这就是为什么变量eINSTANCE在AcceleoCompiler上找不到)。如果您已经为自己的元模型生成了代码,那么您应该查找EMF生成的**Package类。