Как определить, какие недостающие библиотеки Java, чтобы заставить JAXB работать?
Мой проект Tibco BW 6.3.2 вызывает некоторый Java-код, который работает на моей машине, но у меня возникают проблемы на сервере.
Сначала я получил эту ошибку
<CausedBy> java.lang.ClassNotFoundException: com.sun.xml.bind.v2.model.annotation.AnnotationReader cannot be found
Так гуглил и добавил jaxb-impl.jar
а также jaxb-core.jar
(JAXB v2.2.11). Опять же, он работал на моей машине, не добавляя их в classpath. Но как только я добавил их, я получил эту ошибку на сервере:
<CausedBy> java.lang.RuntimeException: Provider for class javax.xml.parsers.SAXParserFactory cannot be created
<CausedBy> java.util.ServiceConfigurationError: javax.xml.parsers.SAXParserFactory: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found
Опять гуглил и добавил xercesImpl.jar
, Но теперь я получаю это на моей машине и сервере:
<CausedBy> java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfiguration
После некоторого поиска в Google, я определил, что есть 2 xerces
банки в моем проекте, но я не могу найти второй. Есть мысли о том, как это сделать? ИЛИ у кого-нибудь есть другое решение?
Заметьте, что Java-код прекрасно работает в Eclipse, и ни одна из этих библиотек не добавлена в путь к классам. (Все устройства используют Sun JDK 1.8.0_92)
1 ответ
Отредактировано: я удалил все библиотеки jaxb, которые я добавил, и определил их в дескрипторах модуля -> Зависимости -> Импортированные пакеты.