Исключение при загрузке файла EMF

Когда я пытаюсь загрузить файл EMF, я получаю следующую ошибку:

Возникло исключение: org.eclipse.emf.ecore.resource.Resource$IOWrappedException: пакет с 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
}

У кого-нибудь есть идеи, почему я получаю эту ошибку?


person Eyal H    schedule 10.11.2012    source источник


Ответы (1)


Сначала необходимо зарегистрировать пакет метамодели в реестре пакетов:

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

Например, для модели UML это будет «UMLPackage.eNS_URI» и т. д. В вашем случае, я полагаю, это должно быть что-то вроде «OpmetaPackage.eNS_URI» и «OpmetaPackage.eINSTANCE».

person sbegaudeau    schedule 10.11.2012