Ошибка java.lang.IncompatibleClassChangeError: Реализация класса
У меня есть динамический веб-проект на Java, и я использую библиотеки Jena и D2RQ. Когда я запускаю свой проект как "Java-приложение", у меня возникает эта проблема:
Исключение в потоке "main" java.lang.IncompatibleClassChangeError: Реализация класса в java.lang.ClassLoader.defineClass1(собственный метод) в java.lang.ClassLoader.defineClass(неизвестный источник) в java.security.SecureClassLoader. UnknownCode (неизвестный) на 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.misc.Launcher$AppClassLoader.loadClass(неизвестный источник..java:38) на 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) на com.hp.hpl.jena.graph.compose.DisjointUnion.graphBaseFind(DisjointUnion.java:27) на com.hp.hpl.jena.graph.impl.GraphBase.find(GraphBase.java:240) на com.hp.hpl.jena.graph.impl.GraphBase.graphBaseFind(GraphBase.java:260) на com.hp.hpl.jena.graph.impl.GraphBase.find(GraphBase.java:257) на com.hp.hpl.jena.graph.query.SimpleQueryHandler.predicatesFor(SimpleQueryHandler.java:68) в com.hp.hpl.jena.graph.query.SimpleQueryHandler.predicatesFor(SimpleQueryHandler.java:47) в com.hp.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.hput.ap.hl. mpl.BaseXMLWriter.write(BaseXMLWriter.java:469) в MyPackage.MyClass.Mymethod(MyClass.java:118) в MyPackage.Test.main(Test.java:77)
Строка 118 класса "MyClass" содержит этот код:
writer.write (d2rqModel, новый OutputStreamWriter(out, "utf-8"),loader.getResourceBaseURI()); с писателем RDFWriter;
а также
import com.hp.hpl.jena.rdf.model.RDFWriter;
Почему у меня есть эта проблема?
Кроме того, тот же класс в другом проекте работает хорошо!!! Зачем?
1 ответ
Вы изменили и перекомпилировали класс, не перекомпилируя все, что от него зависит. Сделайте чистую сборку. Вы можете получить некоторые ошибки компилятора в процессе.
Возможно, вы добавили зависимости, которые неоднозначны для понимания компилятора. Убедитесь, что у вас нет повторяющейся зависимости для одного и того же класса.