Ant Builder构建失败的eINSTANCE

时间:2011-11-23 17:09:44

标签: eclipse compiler-construction ant builder acceleo

尝试将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>

1 个答案:

答案 0 :(得分:2)

packagesToRegister是对元模型包的引用,例如,如果你的生成器正在使用UML元模型,你应该注册包org.eclipse.uml.uml2.UMLPackage(或类似的东西) ),您可以看到在生成器的Java启动程序类的方法registerPackage中注册所需的包。 AcceleoCompiler不是要注册的包(这就是为什么在AcceleoCompiler上找不到变量eINSTANCE的原因)。如果您已生成自己元模型的代码,则应查找由EMF生成的** Package类。