これが私の問題です。EclipseEMFプロジェクトがあり、モデルを構築し、対応するコードを生成し、モデルに対応するいくつかのフレームワーククラスを手動でプログラムしました。
Eclipseウィザードを使用して、プロジェクトをJava Emitter Template(JET)変換プロジェクトに適合させました(これにより、JETプロジェクトが最初から作成したものと同じ構成がMANIFESTに生成されないことに気付きました...)
「引数」に入力された内容に基づいて、アプリケーションのメインクラスのコードを生成するJavaクラスを作成するJETファイルを作成しました。
次に、動的インスタンスを作成し、作成した.xmiファイルにモデルに従っていくつかのノードを設定しました。
ここで私が行ったのは、JETトランスフォーメーションの実行構成を作成することでした。入力として、.xmiファイルを渡し、トランスフォーメーションIDコンボボックスで使用できる2つのうちの1つを使用しようとしています...
トランスフォーメーション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
代わりに、Transformation 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
どちらの場合も、生成されたJavaクラスをgenerateメソッドから取得しませんが、どちらも成功したと言います...また、最初のケースのコンソールメッセージでは、dump.xmlファイルが種類で生成されていることがわかりますそのファイルのxmiからxmlへの変換。ただし、JavaまたはJET生成クラスで作成するように定義したメソッドとの関連付けはありません。
また、前述のdump.xmlファイルを生成した後、それを入力として使用しようとすると、Applicationオブジェクトが見つからないか抽象的であることが通知されます。実際、生成されたパッケージからのものは確かにインターフェイスですが、Implを使用しようとしても同じエラーが発生し、これに到達するために行ったすべての手順のために、正しく動作しているかどうかさえわかりませんdump.xmlファイル。
私は何が間違っているのですか?誰か助けてくれませんか?
前もって感謝します!