我有一个Java动态Web项目,我使用Jena和D2RQ库。当我以"Java应用程序"的身份启动我的项目时,我遇到了以下问题:
线程"main"中出现异常java.lang.IncompatibleClassChangeError:在实现类java.lang.ClassLoader.defineClass1(本机方法)位于的java.lang.ClassLoader.defineClass(未知源)位于的java.security.SecureClassLoader.defineClass(未知源)位于的java.net.URLClassLoader.defineClass(未知源)java.net.URLClassLoader.access$100(未知来源),位于java.net.URLClassLoader$1.run(未知源代码)java.net.URLClassLoader$1.run(未知源代码)位于的java.security.AccessController.doPrivileged(本机方法)位于的java.net.URLClassLoader.findClass(未知源)位于的java.lang.ClassLoader.loadClass(未知源)sun.mic.Launcher$AppClassLoader.loadClass(未知源)位于位于的java.lang.ClassLoader.loadClass(未知源)de.fuberlin.wiwiss.d2rq.代数.CompatibleRelationGroup.addNodeRelation(CompatibleRelationGroup.java:53)在de.fuberlin.wiwiss.d2rq.agebrage.CompatibleRelationGroup.groupNodeRelations(CompatibleRelationGroup.java:38)位于de.fuberlin.wiwis.d2rq.find.FindQuery.iterator(FindQuery.java:78)在de.fuberlin.wiwiss.d2rq.jena.GraphD2RQ.graphBaseFind(GraphD2RQ.java:88)网址:com.hp.hpl.jena.graph.impl.GraphBase.fund(GraphBase.java:240)com.hp.hpl.jena.graph.compose.DisjointUnion.graphBaseFind(DisjointUnion.java:27)网址:com.hp.hpl.jena.graph.impl.GraphBase.fund(GraphBase.java:240)com.hp.hpl.jena.graph.impl.GraphBase.graphBaseFind(GraphBase.java:260)网址:com.hp.hpl.jena.graph.impl.GraphBase.fund(GraphBase.java:257)com.hp.hpl.jena.graph.query.SimpleQueryHandler.predictiesFor(SimpleQueryHandler.java:68)在com.hp.hpl.jena.graph.query.SimpleQueryHandler.predictiesFor(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)MyPackage.Test.main(Test.java:77)
类"MyClass"的第118行包含以下代码:
writer.write(d2rqModel,new OutputStreamWriter(out,"utf-8"),loader.getResourceBaseURI());具有RDF撰稿人;
和
导入com.hp.hpl.jena.rdf.model.RDFWriter;
为什么我有这个问题?
此外,不同项目中的同一个类效果良好!!!为什么?
您已经更改并重新编译了该类,而没有重新编译依赖它的所有内容。在这个过程中,您可能会遇到一些编译器错误。
您可能添加了对编译器理解不明确的依赖项。请验证同一个类是否有重复的依赖项。