java.lang.SecurityException:类“ org.eclipse.emf.ecore.resource.URIConverter $ Loadable”的

时间:2018-10-13 13:32:56

标签: java model emf metamodel ecore

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

 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:

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;

谢谢!

1 个答案:

答案 0 :(得分:0)

这通常是由于从不同的jar多次加载同一个类引起的。此处的答案详细说明并提供了一些不错的解决方案:java-securityexception-signer-information-does-not-match

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

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

相关问题