我正在尝试使用 Acceleo 从 BPEL 到 Java 的转换。我做了 2 或 3 个教程,都涉及到 UML 输入模型的使用,尽管我认为我理解我应该如何处理 bpel 模型及其 bpel.ecore 元模型。
不过,我在运行一个非常简单的转换时遇到了问题,它应该只生成一个带有我的 BPEL 流程文件名称的 java 文件。
这是我的 Acceleo generate.mtl 文件:
[comment encoding = UTF-8 /]
[module generate('http:///org/eclipse/bpel/model/bpel.ecore')]
[template public generateElement(aProcess : Process)]
[comment @main /]
[file (aProcess.name, false, 'UTF-8')]
[/file]
[/template]
这里是输入 .bpel 文件(只是其中的一部分):
<!-- BPEL_sayHelloProcess BPEL Process [Generated by the Eclipse BPEL Designer] -->
<!-- Date: Wed Jul 18 11:00:50 CEST 2012 -->
<bpel:process name="BPEL_sayHelloProcess"
targetNamespace="http://bpeltojava.uni"
suppressJoinFailure="yes"
....
....
</bpel:process>
这是我得到的错误:
该生成未能生成任何文件,因为没有至少与您的一个主模板的第一个参数的类型匹配的模型元素。该问题可能是由于您的元模型注册有问题,请参阅生成器的 Java 启动器中名为“registerPackages”的方法。它也可能来自用作生成入口点的模板中缺少的 [comment @main/]。
我正在使用 Eclipse Modeling Juno 4.2 和 Acceleo 3.3.0 谢谢 :-)