当我尝试加载EMF文件时,出现以下错误:
抛出异常: org.eclipse.emf.ecore.resource.Resource $ IOWrappedException:Package 与uri'blah / blah'未找到。 (文件:/ C:/Temp/OPDiag1/blah1.opmeta, 2,124)
我用来尝试加载的代码:
opmetaFactory.eINSTANCE.eClass();
Resource opmmResource = resourceSet.createResource(URI.createURI(uri));
try {
opmmResource.load(null);
opd = (OPMetaModelDiagram) opmmResource.getContents().get(0);
} catch(final IOException e) {
// log
}
有没有人知道我为什么会收到此错误?
答案 0 :(得分:3)
您需要首先在包注册表中注册元模型的包:
resourceSet.getPackageRegistry().put(BlahPackage.eNS_URI, BlahPackage.eINSTANCE);
对于UML模型,例如它将是“UMLPackage.eNS_URI”等。在您的情况下,我认为它必须类似“OpmetaPackage.eNS_URI”和“OpmetaPackage.eINSTANCE”。