EMF文件加载异常

3
当我尝试加载EMF文件时,会出现以下错误:

抛出异常: org.eclipse.emf.ecore.resource.Resource$IOWrappedException: 找不到URI为“blah/blah”的包。(file:/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
}

有人知道为什么我会收到这个错误吗?

1个回答

3

首先需要在包注册表中注册元模型的包:

resourceSet.getPackageRegistry().put(BlahPackage.eNS_URI, BlahPackage.eINSTANCE);

例如,对于UML模型,它可能是“UMLPackage.eNS_URI”等。在您的情况下,我认为它必须类似于“OpmetaPackage.eNS_URI”和“OpmetaPackage.eINSTANCE”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接