UMLPackage.Literals.MODEL выдает ошибку java.lang.NoClassDefFoundError

Я хотел бы получить конечный автомат из файла.uml, созданного папирусом. Я анализирую файл model.uml, используя код ниже.

    ResourceSet set = new ResourceSetImpl();
set.getResourceFactoryRegistry().getExtensionToFactoryMap()
    .put(UMLResource.FILE_EXTENSION, UMLResource.Factory.INSTANCE);
set.getResourceFactoryRegistry().getExtensionToFactoryMap()
    .put(UMLResource.FILE_EXTENSION, UMLResource.Factory.INSTANCE);
Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap()
    .put(UMLResource.FILE_EXTENSION, UMLResource.Factory.INSTANCE);
Resource res = set.getResource(URI.createFileURI("resources/model.uml"), true);
EcoreUtil.resolveAll(res);
System.out.println(res.getContents().get(0)); 

Этот код работает нормально и печатает содержимое. Но когда я пытаюсь привести его к классу Model, используя код ниже

Model model = (Model) EcoreUtil.getObjectByType(res.getContents(),UMLPackage.Literals.MODEL);

Это бросает это исключение,

Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/uml2/types/TypesPackage
at org.eclipse.uml2.uml.internal.impl.UMLPackageImpl.init(UMLPackageImpl.java:1907)
at org.eclipse.uml2.uml.UMLPackage.<clinit>(UMLPackage.java:83)
at org.eclipse.uml2.uml.UMLPackage$Literals.<clinit>(UMLPackage.java:28779)
at mp.m2bt.BTGenerator.main(BTGenerator.java:49)
Caused by: java.lang.ClassNotFoundException: org.eclipse.uml2.types.TypesPackage
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)

Я не уверен, что я что-то упустил. Я думаю, что проблема в UMLPackage.Literals.MODEL. Итак, кто-нибудь может помочь мне решить эту проблему и получить конечные автоматы из модели.

1 ответ

Решение

Тебе нужна банка org.eclipse.uml2.types в вашем классе Вот почему тип org.eclipse.uml2.types.TypesPackage не может быть найден.

Другие вопросы по тегам