【问题标题】:UMLPackage.Literals.MODEL throws java.lang.NoClassDefFoundError errorUMLPackage.Literals.MODEL 抛出 java.lang.NoClassDefFoundError 错误
【发布时间】:2016-09-18 10:35:25
【问题描述】:

我想从 papyrus 创建的 .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 中。那么,谁能帮我解决这个问题并从模型中获取状态机。

【问题讨论】:

    标签: java eclipse-emf emf model-based-testing


    【解决方案1】:

    您的类路径中需要 jar org.eclipse.uml2.types。这就是找不到类型org.eclipse.uml2.types.TypesPackage 的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多