Ant Builder 构建 eINSTANCE 失败

问题描述 投票:0回答:1

尝试将 AcceleoCompiler 与 Ant Builder 一起使用。当我用 ant 构建时,出现以下错误:

compile:
[acceleoCompiler] eINSTANCE

BUILD FAILED
C:\Users\random\workspace\foo\bar\Framework\buildstandalone.xml:52: eINSTANCE

以下是我如何定义目标以及其他一些可能重要的信息。我对 ant 和 acceleo 很陌生。如果您需要任何其他信息,请告诉我。我不确定以下内容是否正确,如果有任何需要更改的地方,请告诉我。它抱怨的那条线是

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>
eclipse ant builder acceleo
1个回答
2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.