看起來好像我在問一個以前已經問過的問題,但其他論壇帖子中指出的解決方案對我來說並不適用。Acceleo獨立 - 第一個參數是代理
我想在獨立運行Acceleo項目。
public void registerPackages(ResourceSet resourceSet) {
super.registerPackages(resourceSet);
if(!isInWorkspace(PSMAndroid.PSMAndroidPackage.class)){
System.out.println("uri: "+PSMAndroid.PSMAndroidPackage.eNS_URI);
resourceSet.getPackageRegistry().put(PSMAndroid.PSMAndroidPackage.eNS_URI, PSMAndroid.PSMAndroidPackage.eINSTANCE);
}
}
而且也:
public void registerResourceFactories(ResourceSet resourceSet) {
super.registerResourceFactories(resourceSet);
resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("psmandroid",new XMIResourceFactoryImpl());
}
模塊看起來是這樣的:
[module componentModule('org.colpaert.mathias.PSMAndroid')]
我收到以下錯誤:
org.eclipse.acceleo.engine.AcceleoEvaluationException: The type of the first parameter of the main template named 'generateModel' is a proxy.
生成器在啓動時作爲「加速應用程序」工作,沒有上述代碼行。當我添加行,作爲Java應用程序運行時,我得到上面的錯誤。但是,當我嘗試爲「acceleo應用」再次運行,我得到以下錯誤:
所以不工作了。
我該怎麼辦?
額外信息:我在我的加速器生成項目的構建路徑屬性中添加了ecore模型(項目模型爲& genmodel等)作爲項目引用。