所以,这是我的问题,我有一个 Eclipse EMF 项目,我已经建立了一个模型,生成了相应的代码,还手动编写了一些与模型相对应的框架类。
我已经使用 eclipse 向导将项目调整为 Java Emitter Template (JET) 转换项目(并注意到这并没有在 MANIFEST 中生成与从头开始创建的 JET 项目相同的配置......)
我创建了一个 JET 文件,该文件创建一个 Java 类,以根据进入“参数”的输入为应用程序的主类生成代码。
然后我创建了一个动态实例,并根据模型用一些节点填充了创建的 .xmi 文件。
现在我所做的是创建一个 JET 转换运行配置,我试图将 .xmi 文件作为输入传递,并使用转换 ID 组合框中仅有的两个可用的东西之一......
如果我选择转换 ID 为 jet2,我会在控制台中获得以下输出:
templates/main.jet(8,1): <c:setVariable var='org.eclipse.jet.taglib.control.iterateSetsContext' select='true()'>
Trace: completed action.
templates/main.jet(29,1): <c:if test='isVariableDefined(''org.eclipse.jet.resource.project.name'')'>
Trace: processing body
templates/dump.jet(2,1): <c:dump select='/*' format='true' entities='true'>
Trace: completed action.
templates/main.jet(30,5): <ws:file template='templates/dump.jet' path='{$org.eclipse.jet.resource.project.name}/dump.xml'>
Trace: completed action.
Successful Execution
如果相反,我选择转换 ID 为 org.eclipse.jet.transforms.taglib.doc(唯一可用的其他选项),我得到:
templates/control.jet(8,1): <c:setVariable var='jetPluginNS' select='''org.eclipse.jet'''>
Trace: completed action.
templates/control.jet(9,1): <c:setVariable var='tagLibrariesXP' select='concat($jetPluginNS, ''.tagLibraries'')'>
Trace: completed action.
templates/control.jet(15,1): <c:setVariable var='pluginNS' select='$org.eclipse.jet.resource.project.name'>
Trace: completed action.
templates/control.jet(16,1): <c:setVariable var='docPlugin' select='concat($org.eclipse.jet.resource.project.name, ''.doc'')'>
Trace: completed action.
templates/control.jet(21,5): <c:iterate select='/plugin/extension[@point = $tagLibrariesXP]' var='extension'>
Trace: loop initialized
templates/control.jet(21,5): <c:iterate select='/plugin/extension[@point = $tagLibrariesXP]' var='extension'>
Trace: finished loop
templates/control.jet(69,5): <c:iterate select='/plugin/extension[@point = $tagLibrariesXP]' var='extension'>
Trace: loop initialized
templates/control.jet(69,5): <c:iterate select='/plugin/extension[@point = $tagLibrariesXP]' var='extension'>
Trace: finished loop
Successful Execution
在任何一种情况下,我都没有从 generate 方法中得到任何生成的 Java 类,但是两者都说它们是成功的......而且,在第一种情况下,通过控制台消息,我看到一个 dump.xml 文件是用一种生成的该文件的 xmi 到 xml 转换,但与 Java 或我定义为在 JET 生成类中创建的任何方法没有任何关联......
此外,如果在生成提到的 dump.xml 文件后,我尝试将其用作输入,它会告诉我我的 Application 对象未找到或是抽象的。事实上,生成包中的那个确实是一个接口,但即使我尝试使用 Impl ,我也会遇到同样的错误,而且我什至不知道它是否正确运行,因为我采取了所有这些程序来实现这一点转储.xml 文件。
我究竟做错了什么?谁能帮帮我吗?
提前致谢!