我從兩個相關元模型開始生成代碼。主要的一個引用了第二個類的類。當作爲Acceleo插件執行時,Acceleo執行效果良好,但在作爲Java應用程序執行時不會執行。如果我啓動Java主類,則第二個相關元模型的數據不可見。Acceleo - 使用Java應用程序交叉模型參考
我得到的錯誤是
org.eclipse.acceleo.engine.AcceleoEvaluationException: Unresolved compilation error in generation module
我告訴你調試模式的一個片段。 目標是第二個元模型(名爲peersbehavior)的類的引用。
---- URI是正確的,它指向的確切位置----
----但沒有檢索到的值----
我有ATL Model2Model轉換的類似問題:必須選中「允許模型間參考」選項。但在Acceleo我沒有找到類似的
[編輯] 什麼正如指出的standalone documentation,
我在Java類添加了這些2行的代碼現在
public void registerResourceFactories(ResourceSet resourceSet)
{
super.registerResourceFactories(resourceSet);
// code added by me
resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("systembehavior", new XMIResourceFactoryImpl());
resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("peerbehavior", new XMIResourceFactoryImpl());
}
它的工作也已經開始Java類,但如果我將項目導出爲Jar,並嘗試在另一個項目中使用它,我有和以前一樣的問題