尝试将AcceleoCompiler与Ant Builder一起使用。当我使用ant构建时,我收到以下错误:
compile:
[acceleoCompiler] eINSTANCE
BUILD FAILED
C:\Users\random\workspace\foo\bar\Framework\buildstandalone.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>
答案 0 :(得分:2)
行packagesToRegister
是对元模型包的引用,例如,如果你的生成器正在使用UML元模型,你应该注册包org.eclipse.uml.uml2.UMLPackage(或类似的东西) ),您可以看到在生成器的Java启动程序类的方法registerPackage
中注册所需的包。 AcceleoCompiler不是要注册的包(这就是为什么在AcceleoCompiler上找不到变量eINSTANCE的原因)。如果您已生成自己元模型的代码,则应查找由EMF生成的** Package类。