2017-04-26 10 views
0

java-appからプログラムでATL/EMFTVM変換を起動しようとしています。モジュールのロード時(execEnv.loadModule(mr、 "moduleName"))、モジュールロード中にエラーを報告する例外が発生します。メタモデル入力が見つかりません。コードのemftvmモジュール読み込み中にエラーが発生しました:メタモデル入力が見つかりません

ワンピース:

​​

例外:

Exception in thread "main" org.eclipse.m2m.atl.emftvm.util.VMException: Error during module loading: Metamodel input not found 
at org.eclipse.m2m.atl.emftvm.impl.ExecEnvImpl.loadModule(ExecEnvImpl.java:1265) 
at org.eclipse.m2m.atl.emftvm.impl.ExecEnvImpl.loadModule(ExecEnvImpl.java:1217) 
at ATLLauncher.launch(ATLLauncher.java:102) 
at ServiceRunner.main(ServiceRunner.java:65) 
Caused by: java.lang.IllegalArgumentException: Metamodel input not found 
at org.eclipse.m2m.atl.emftvm.impl.ExecEnvImpl.findType(ExecEnvImpl.java:2061) 
at org.eclipse.m2m.atl.emftvm.impl.ExecEnvImpl.findEClassifier(ExecEnvImpl.java:2141) 
at org.eclipse.m2m.atl.emftvm.impl.ExecEnvImpl.registerFeature(ExecEnvImpl.java:1316) 
at org.eclipse.m2m.atl.emftvm.impl.ExecEnvImpl.loadModule(ExecEnvImpl.java:1242) 

誰も私を助けてくださいもらえますか?

答えて

0

ExecEnvインスタンスにメタモデルを登録しましたか?あなたはloadModuleを呼び出す前に、このようなコードの部分を持っている必要があります。

Metamodel inMetamodel = EmftvmFactory.eINSTANCE.createMetamodel(); 
inMetamodel.setResource(rs.getResource(URI.createURI(inputMetamodelNsURI), true)); 
env.registerMetaModel(IN_METAMODEL_NAME, inMetamodel); 

Metamodel outMetamodel = EmftvmFactory.eINSTANCE.createMetamodel(); 
outMetamodel.setResource(rs.getResource(URI.createURI(outputMetamodelNsURI), true)); 
env.registerMetaModel(OUT_METAMODEL_NAME, outMetamodel); 

この例ではOUT_METAMODEL_NAMEIN_METAMODEL_NAMEはあなたがATL変換であなたのメタモデルのために提供名です。

This example GitHubで見つかったものが助けになるかもしれません(グーグルへのクレジット)

関連する問題