错误java.lang.IncompatibleClassChangeError:实现类

时间:2014-04-11 09:24:33

标签: java classloader jena incompatibletypeerror d2rq

我有一个Java动态Web项目,我使用Jena和D2RQ库。 当我将项目作为“Java Application”启动时,我遇到了这个问题:

  

线程“main”中的异常   java.lang.IncompatibleClassChangeError:在。实现类   java.lang.ClassLoader.defineClass1(Native Method)at   java.lang.ClassLoader.defineClass(未知来源)at   java.security.SecureClassLoader.defineClass(未知来源)at   java.net.URLClassLoader.defineClass(未知来源)at   java.net.URLClassLoader.access $ 100(未知来源)at   java.net.URLClassLoader $ 1.run(未知来源)at   java.net.URLClassLoader $ 1.run(未知来源)at   java.security.AccessController.doPrivileged(Native Method)at   java.net.URLClassLoader.findClass(未知来源)at   java.lang.ClassLoader.loadClass(未知来源)at   sun.misc.Launcher $ AppClassLoader.loadClass(未知来源)at   java.lang.ClassLoader.loadClass(未知来源)at   de.fuberlin.wiwiss.d2rq.algebra.CompatibleRelationGroup.addNodeRelation(CompatibleRelationGroup.java:53)     在   de.fuberlin.wiwiss.d2rq.algebra.CompatibleRelationGroup.groupNodeRelations(CompatibleRelationGroup.java:38)     at de.fuberlin.wiwiss.d2rq.find.FindQuery.iterator(FindQuery.java:78)     在   de.fuberlin.wiwiss.d2rq.jena.GraphD2RQ.graphBaseFind(GraphD2RQ.java:88)     在com.hp.hpl.jena.graph.impl.GraphBase.find(GraphBase.java:240)at   com.hp.hpl.jena.graph.compose.DisjointUnion.graphBaseFind(DisjointUnion.java:27)     在com.hp.hpl.jena.graph.impl.GraphBase.find(GraphBase.java:240)at   com.hp.hpl.jena.graph.impl.GraphBase.graphBaseFind(GraphBase.java:260)     在com.hp.hpl.jena.graph.impl.GraphBase.find(GraphBase.java:257)at   com.hp.hpl.jena.graph.query.SimpleQueryHandler.predicatesFor(SimpleQueryHandler.java:68)     在   com.hp.hpl.jena.graph.query.SimpleQueryHandler.predicatesFor(SimpleQueryHandler.java:47)     在   com.hp.hpl.jena.rdf.model.impl.ModelCom.listPredicates(ModelCom.java:751)     在   com.hp.hpl.jena.rdf.model.impl.ModelCom.listNameSpaces(ModelCom.java:763)     在   com.hp.hpl.jena.xmloutput.impl.BaseXMLWriter.addNameSpaces(BaseXMLWriter.java:233)     在   com.hp.hpl.jena.xmloutput.impl.BaseXMLWriter.setupNamespaces(BaseXMLWriter.java:487)     在   com.hp.hpl.jena.xmloutput.impl.BaseXMLWriter.write(BaseXMLWriter.java:469)     在MyPackage.MyClass.Mymethod(MyClass.java:118)at   MyPackage.Test.main(Test.java:77)

“MyClass”类的第118行包含以下代码:

  

writer.write(d2rqModel,new OutputStreamWriter(out,“utf-8”),loader.getResourceBaseURI());   同   RDFWriter编写者;

  

import com.hp.hpl.jena.rdf.model.RDFWriter;

为什么我有这个问题?

另外,同一个班级在不同的项目中运作良好!为什么呢?

2 个答案:

答案 0 :(得分:0)

您已经更改并重新编译了该类,而无需重新编译依赖于它的所有内容。做一个干净的构建。您可能会在此过程中遇到一些编译器错误。

答案 1 :(得分:0)

您可能已添加了依赖于编译器理解的不确定性。确认您没有相同类的重复依赖项。