Ant Builder 构建 eINSTANCE 失败

发布于 2024-12-17 14:08:26 字数 1098 浏览 4 评论 0原文

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

Trying to use AcceleoCompiler with an Ant Builder. When i build with ant i get the following error:

compile:
[acceleoCompiler] eINSTANCE

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

Here is how i have my target defined and some other information that could be important. I am very new to ant and acceleo. Let me know if there is any other information you need. I am not sure that any of the below is correct, let me know if there is anything i need to change. The line that it is complaining about is packagesToRegister="org.eclipse.acceleo.parser.compiler.AcceleoCompiler"> I do not know if that line is correct at all, i was just guessing.

<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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

十年不长 2024-12-24 14:08:26

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

The line packagesToRegister is a reference to the package of your metamodel for example, if your generator is using the UML metamodel, you should register the package org.eclipse.uml.uml2.UMLPackage (or something like that), you can see the package needed to register in the method registerPackage of the Java launcher class of your generator. The AcceleoCompiler is not a package to register (that's why the variable eINSTANCE is not found on AcceleoCompiler). If you have generated the code of your own metamodel, you should look for a **Package class generated by EMF.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文