3

パピルスを使用してクラス図を作成し、*.uml モデルを取得しました。ここで、Java コードを記述して *.uml 要素を反復処理したいと考えています。

私はこのコードを試しました:

URI uri = URI.createURI("*.uml");

ResourceSet set = new ResourceSetImpl();

set.getPackageRegistry().put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE);
set.getResourceFactoryRegistry().getExtensionToFactoryMap()
       .put(UMLResource.FILE_EXTENSION, UMLResource.Factory.INSTANCE);
EPackage.Registry.INSTANCE.put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE);
Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap()
       .put("uml", UMLResource.Factory.INSTANCE);

set.getResourceFactoryRegistry().getExtensionToFactoryMap()
       .put("xmi", new XMIResourceFactoryImpl());
//set.createResource(uri);
Resource res = set.getResource(URI.createURI(new URL("*.uml").toString(),true),true);

しかし、私は例外を得ました:

スレッド「メイン」の例外 java.lang.NoSuchMethodError: org.eclipse.emf.ecore.resource.URIConverter.createInputStream( Lorg/eclipse/emf/common/util/URI;Ljava/util/Map;)Ljava/io/InputStream ;

Java を使用してパピルス UML モデルをロードするにはどうすればよいですか?

4

1 に答える 1