acceleo编译器,5元模型无法解析 [英] acceleo compiler, 5:The metamodel couldn't be resolved
问题描述
我试图创建为Android一个独立的Ant构建文件。我们正在使用acceleo产生code。
下面是本人的build.xml中采取的步骤。
- 编译汽车发电机
- 生成EMTL文件
- 生成从EMTL文件code
现在,我可以运行步骤1中,它工作正常。然后我跑第2步,并与下面的错误的(第2步错误)没有的。然后我可以运行第3步,它工作正常。然后我检查我的所有文件,并生成code,一切都看起来很好。然而,从第2步这些错误是真正困扰我,我需要让他们解决。
任何帮助将大大AP preciated,如果你需要了解更多信息,请让我知道。
以下是发布步骤2在build.xml的步骤和错误。
build.xml的信息
<目标名称=compileAutogen描述=编译AUTOGEN>
< javac的
SRCDIR =$ {} AUTOGEN_SRC
DESTDIR =$ {} AUTOGEN_BIN
classpath=\"${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.engine_3.2.0.v20111027-0537.jar;${ECLIPSE_HOME}/plugins/org.eclipse.emf.common_2.7.0.v20110912-0920.jar;${ECLIPSE_HOME}/plugins/org.eclipse.emf.ecore_2.7.0.v20110912-0920.jar;${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.model_3.2.0.v20111027-0537.jar\"
可执行=$ {JAVA_JDK} / javac的
叉=真
includeantruntime =假
failonerror =假
/>
< /目标与GT;<目标名称=generateEMTL描述=生成AUTOGEN的EMTL文件>
< acceleoCompiler sourceFolder =$ {} AUTOGEN_SRC
outputFolder =$ {} AUTOGEN_BIN
依赖=
binaryResource =假
packagesToRegister =org.eclipse.emf.ecore.EcorePackage>
< / acceleoCompiler>
< /目标与GT;<目标名称=generateFramework code说明=生成生成code为框架>
< java的
类名=framework.generator.main.Main
classpath=\"${AUTOGEN_BIN};${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.engine_3.2.0.v20111027-0537.jar;${ECLIPSE_HOME}/plugins/org.eclipse.emf.ecore_2.7.0.v20110912-0920.jar;${ECLIPSE_HOME}/plugins/org.eclipse.emf.common_2.7.0.v20110912-0920.jar;${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.common_3.2.0.v20111027-0537.jar;${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.model_3.2.0.v20111027-0537.jar;${ECLIPSE_HOME}/plugins/org.eclipse.emf.ecore.xmi_2.7.0.v20110520-1406.jar;${ECLIPSE_HOME}/plugins/org.eclipse.ocl.ecore_3.1.1.v20110823-1646.jar;${ECLIPSE_HOME}/plugins/org.eclipse.ocl_3.1.0.v20110913-1213.jar;${ECLIPSE_HOME}/plugins/lpg.runtime.java_2.0.17.v201004271640.jar;${ECLIPSE_HOME}/plugins/org.eclipse.core.runtime.compatibility.registry_3.5.0.v20110505/runtime_registry_compatibility.jar;${ECLIPSE_HOME}/plugins/org.eclipse.core.runtime_3.7.0.v20110110.jar;${ECLIPSE_HOME}/plugins/org.eclipse.osgi_3.7.1.R37x_v20110808-1106.jar;${ECLIPSE_HOME}/plugins/org.eclipse.equinox.common_3.6.0.v20110523.jar;${ECLIPSE_HOME}/plugins/org.eclipse.core.jobs_3.5.100.v20110404.jar;${ECLIPSE_HOME}/plugins/org.eclipse.equinox.registry_3.5.101.R37x_v20110810-1611.jar;${ECLIPSE_HOME}/plugins/org.eclipse.equinox.$p$pferences_3.4.1.R37x_v20110725.jar;${ECLIPSE_HOME}/plugins/org.eclipse.core.contenttype_3.4.100.v20110423-0524.jar;${ECLIPSE_HOME}/plugins/org.eclipse.equinox.app_1.3.100.v20110321.jar;${ECLIPSE_HOME}/plugins/com.google.collect_1.0.0.v201105210816.jar\"
叉=真正的>
< ARG值=$ {}模式/>
< ARG值=$ {} TARGET/>
< / JAVA>
< /目标与GT;<目标
NAME =generateFramework
说明=编译AUTOGEN,prepares的emtl文件并运行发电机框架
取决于=compileAutogen,generateEMTL,generateFramework code
/>
(第2步错误)
generateEMTL:
[acceleoCompiler] generateDataAccessObject.mtl
[acceleoCompiler] 5:元模型无法解析
[acceleoCompiler] 5:元模型无法解析
[acceleoCompiler] 5:元模型无法解析
[acceleoCompiler]
[acceleoCompiler] generatePerstNode.mtl
[acceleoCompiler] 5:元模型无法解析
[acceleoCompiler] 5:元模型无法解析
[acceleoCompiler]
[acceleoCompiler] TreeWalk.mtl
[acceleoCompiler] 5:元模型无法解析
[acceleoCompiler] 5:元模型无法解析
[acceleoCompiler]构建失败
C:\\框架\\的build.xml:170:generateDataAccessObject.mtl
5:元模型无法解析
5:元模型无法解析
5:元模型无法解析generatePerstNode.mtl
5:元模型无法解析
5:元模型无法解析TreeWalk.mtl
5:元模型无法解析
5:元模型无法解析
在org.eclipse.acceleo.parser.compiler.AcceleoCompiler.execute(AcceleoCompiler.java:121)
在org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
在sun.reflect.GeneratedMethodAccessor4.invoke(来源不明)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
在java.lang.reflect.Method.invoke(Method.java:597)
在org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
在org.apache.tools.ant.Task.perform(Task.java:348)
在org.apache.tools.ant.Target.execute(Target.java:390)
在org.apache.tools.ant.Target.performTasks(Target.java:411)
在org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
在org.apache.tools.ant.Project.executeTarget(Project.java:1368)
在org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
在org.apache.tools.ant.Project.executeTargets(Project.java:1251)
在org.apache.tools.ant.Main.runBuild(Main.java:809)
在org.apache.tools.ant.Main.startAnt(Main.java:217)
在org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
在org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
删除多余的东西出了 [模块generateDataAccessObject(...)]
实际上解决了这一问题。如果我只包括 http://www.eclipse.org/emf/2002/Ecore和http://www.eclipse.org/acceleo/mtl/3.0
则工作原理。
I am attempting to create a standalone ant build file for android. We are using acceleo to generate code.
Here are the steps i am taking within the build.xml.
- compile the auto generator
- Generate the EMTL files
- Generate the code from the EMTL files
Right now, i can run step 1 and it works fine. Then i run step 2 and it fails with the following errors (Step 2 Errors). And then i can run step 3 and it works fine. I then check all of my files and generated code and everything looks fine. However, those errors from step 2 are really bothering me and i need to get them resolved.
Any help will be greatly appreciated and if you need more information, please let me know.
Posted below are the steps in the build.xml and the errors for step 2.
the build.xml information
<target name="compileAutogen" description="Compiles Autogen">
<javac
srcdir="${AUTOGEN_SRC}"
destdir="${AUTOGEN_BIN}"
classpath="${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.engine_3.2.0.v20111027-0537.jar;${ECLIPSE_HOME}/plugins/org.eclipse.emf.common_2.7.0.v20110912-0920.jar;${ECLIPSE_HOME}/plugins/org.eclipse.emf.ecore_2.7.0.v20110912-0920.jar;${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.model_3.2.0.v20111027-0537.jar"
executable="${JAVA_JDK}/javac"
fork="true"
includeantruntime="false"
failonerror="false"
/>
</target>
<target name="generateEMTL" description="Generates the EMTL files for Autogen">
<acceleoCompiler sourceFolder="${AUTOGEN_SRC}"
outputFolder="${AUTOGEN_BIN}"
dependencies=""
binaryResource="false"
packagesToRegister="org.eclipse.emf.ecore.EcorePackage">
</acceleoCompiler>
</target>
<target name="generateFrameworkCode" description="Generates the generated code for Framework">
<java
classname="framework.generator.main.Main"
classpath="${AUTOGEN_BIN};${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.engine_3.2.0.v20111027-0537.jar;${ECLIPSE_HOME}/plugins/org.eclipse.emf.ecore_2.7.0.v20110912-0920.jar;${ECLIPSE_HOME}/plugins/org.eclipse.emf.common_2.7.0.v20110912-0920.jar;${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.common_3.2.0.v20111027-0537.jar;${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.model_3.2.0.v20111027-0537.jar;${ECLIPSE_HOME}/plugins/org.eclipse.emf.ecore.xmi_2.7.0.v20110520-1406.jar;${ECLIPSE_HOME}/plugins/org.eclipse.ocl.ecore_3.1.1.v20110823-1646.jar;${ECLIPSE_HOME}/plugins/org.eclipse.ocl_3.1.0.v20110913-1213.jar;${ECLIPSE_HOME}/plugins/lpg.runtime.java_2.0.17.v201004271640.jar;${ECLIPSE_HOME}/plugins/org.eclipse.core.runtime.compatibility.registry_3.5.0.v20110505/runtime_registry_compatibility.jar;${ECLIPSE_HOME}/plugins/org.eclipse.core.runtime_3.7.0.v20110110.jar;${ECLIPSE_HOME}/plugins/org.eclipse.osgi_3.7.1.R37x_v20110808-1106.jar;${ECLIPSE_HOME}/plugins/org.eclipse.equinox.common_3.6.0.v20110523.jar;${ECLIPSE_HOME}/plugins/org.eclipse.core.jobs_3.5.100.v20110404.jar;${ECLIPSE_HOME}/plugins/org.eclipse.equinox.registry_3.5.101.R37x_v20110810-1611.jar;${ECLIPSE_HOME}/plugins/org.eclipse.equinox.preferences_3.4.1.R37x_v20110725.jar;${ECLIPSE_HOME}/plugins/org.eclipse.core.contenttype_3.4.100.v20110423-0524.jar;${ECLIPSE_HOME}/plugins/org.eclipse.equinox.app_1.3.100.v20110321.jar;${ECLIPSE_HOME}/plugins/com.google.collect_1.0.0.v201105210816.jar"
fork="true">
<arg value="${MODEL}"/>
<arg value="${TARGET}"/>
</java>
</target>
<target
name="generateFramework"
description="Compiles Autogen, prepares the emtl files and runs the generator for Framework"
depends="compileAutogen, generateEMTL, generateFrameworkCode"
/>
(Step 2 Errors)
generateEMTL:
[acceleoCompiler] generateDataAccessObject.mtl
[acceleoCompiler] 5:The metamodel couldn't be resolved
[acceleoCompiler] 5:The metamodel couldn't be resolved
[acceleoCompiler] 5:The metamodel couldn't be resolved
[acceleoCompiler]
[acceleoCompiler] generatePerstNode.mtl
[acceleoCompiler] 5:The metamodel couldn't be resolved
[acceleoCompiler] 5:The metamodel couldn't be resolved
[acceleoCompiler]
[acceleoCompiler] TreeWalk.mtl
[acceleoCompiler] 5:The metamodel couldn't be resolved
[acceleoCompiler] 5:The metamodel couldn't be resolved
[acceleoCompiler]
BUILD FAILED
C:\Framework\build.xml:170: generateDataAccessObject.mtl
5:The metamodel couldn't be resolved
5:The metamodel couldn't be resolved
5:The metamodel couldn't be resolved
generatePerstNode.mtl
5:The metamodel couldn't be resolved
5:The metamodel couldn't be resolved
TreeWalk.mtl
5:The metamodel couldn't be resolved
5:The metamodel couldn't be resolved
at org.eclipse.acceleo.parser.compiler.AcceleoCompiler.execute(AcceleoCompiler.java:121)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:390)
at org.apache.tools.ant.Target.performTasks(Target.java:411)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
at org.apache.tools.ant.Main.runBuild(Main.java:809)
at org.apache.tools.ant.Main.startAnt(Main.java:217)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Removing extra stuff out of the [module generateDataAccessObject(...)]
actually fixed the problem. If i only include http://www.eclipse.org/emf/2002/Ecore and http://www.eclipse.org/acceleo/mtl/3.0
then it works.
这篇关于acceleo编译器,5元模型无法解析的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!