この件に関していくつかのQnAがあることを私は知っています。私は多くの解決策を試しましたが、常に同じエラーが発生します。
私のコード構造は次のようなものです:
Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE;
Map<String, Object> m = reg.getExtensionToFactoryMap();
m.put("xmi", new XMIResourceFactoryImpl());
ResourceSet resSet = new ResourceSetImpl();
Resource resource = resSet.getResource(URI.createURI("model/List.xmi"), true);
resource.load(Collections.EMPTY_MAP);
EObject root = resource.getContents().get(0);
エラー:
スレッド「メイン」での例外 org.eclipse.emf.ecore.resource.impl.ResourceSetImpl$1DiagnosticWrappedException: org.eclipse.emf.ecore.xmi.PackageNotFoundException: uri 'List' を持つパッケージが見つかりません。(file:///C:/Users/2/My%20Repository/UNIT%20Research%20and%20Development/com.unitbilisim.research.transformation/model/List.xmi, 6, 40) org.eclipse.emf. org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:278) の org.eclipse.emf.ecore.resource の ecore.resource.impl.ResourceSetImpl.handleDemandLoadException(ResourceSetImpl.java:319)。 impl.ResourceSetImpl.getResource(ResourceSetImpl.java:406) com.unitbilisim.research.transformation.ConvertEcore2Graph.main(ConvertEcore2Graph.java:61) の原因: org.eclipse.emf.ecore.xmi.PackageNotFoundException: パッケージに uri ' リスト」が見つかりません。(file:///C:/Users/2/My%20Repository/UNIT%20Research%20and%20Development/com.unitbilisim.research.transformation/model/List.xmi, 6, 40) org.eclipse.emf. org.eclipse.emf.ecore.xmi.impl.XMLHandler.getFactoryForPrefix(XMLHandler.java:2458) の org.eclipse.emf.ecore.xmi の ecore.xmi.impl.XMLHandler.getPackageForURI(XMLHandler.java:2625)。 org.eclipse.emf.ecore.xmi.impl.XMLHandler.createTopObject(XMLHandler.java:1504) の impl.XMLHandler.createObjectByType(XMLHandler.java:1335) org.eclipse.emf.ecore.xmi.impl.XMLHandler. org.eclipse.emf.ecore.xmi.impl.XMIHandler.processElement(XMIHandler.java:77) の processElement(XMLHandler.java:1026) org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHandler. java:1008) org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHandler.java:
「uri のパッケージ」「見つかりません」とはどういう意味ですか? xmi ファイルを直接読み取ることはできますか、それとも xml ファイルとして解析する必要がありますか?
私もこれを試しました - > https://stackoverflow.com/a/4615965/1604503
XMIResource resource = new XMIResourceImpl(URI.createURI("model/List.xmi"));
resource.load(null);
System.out.println( resource.getContents().get(0) );
PackageNotFoundEx. およびリソース$ IOWrappedEx。また :(
助けてください
敬具