【问题标题】:java.lang.SecurityException: class "org.eclipse.emf.ecore.resource.URIConverter$Loadable"'sjava.lang.SecurityException:类“org.eclipse.emf.ecore.resource.URIConverter$Loadable”的
【发布时间】:2019-03-18 12:11:19
【问题描述】:

有人帮助我为什么会收到此错误?

 java.lang.SecurityException: class "org.eclipse.emf.ecore.resource.URIConverter$Loadable"'s signer information does not match signer information of other classes in the same package  at java.lang.ClassLoader.checkCerts(ClassLoader.java:898)

我想加载一个元模型 (dart.ecore) 文件和一个模型文件 (dartlang.dart)。

ResourceSet resourceSet = new ResourceSetImpl(); 
resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("ecore", new EcoreResourceFactoryImpl());
resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("xmi", new  XMIResourceFactoryImpl());
Resource myMetaModel= resourceSet.getResource(URI.createFileURI("./metamodel/dart.ecore"), true);
EPackage univEPackage = (EPackage) myMetaModel.getContents().get(0);
resourceSet.getPackageRegistry().put("http://gholizadeh.org", univEPackage);
Resource myModel = resourceSet.getResource( URI.createURI( "./model/dartlang.dartspec"), true);

进口:

import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl;
import org.eclipse.emf.ecore.xmi.impl.XMLResourceFactoryImpl;

谢谢!

【问题讨论】:

    标签: java model emf metamodel ecore


    【解决方案1】:

    这通常是由于从不同的 jar 中多次加载同一个类造成的。这里的答案详细解释并提供了一些不错的解决方案:java-securityexception-signer-information-does-not-match

    最简单的两种解决方案是删除重复的 jar 文件,或者有时在 eclipse 构建中更改 jar 的顺序也可以。

    如果这还不足以提供帮助,我们将需要有关您的项目设置的更多信息;比如你是如何管理依赖的,它是不是一个 Eclipse 插件项目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-26
      • 1970-01-01
      • 2016-10-17
      • 1970-01-01
      • 2017-11-18
      • 2018-02-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多