我有一个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;
为什么我有这个问题?
另外,同一个班级在不同的项目中运作良好!为什么呢?
答案 0 :(得分:0)
您已经更改并重新编译了该类,而无需重新编译依赖于它的所有内容。做一个干净的构建。您可能会在此过程中遇到一些编译器错误。
答案 1 :(得分:0)
您可能已添加了依赖于编译器理解的不确定性。确认您没有相同类的重复依赖项。