Java xerces DocumentBuilderFactoryimpl не найден - что делать? - PullRequest
3 голосов
/ 14 января 2010

Я получаю это сообщение:

javax.xml.parsers.FactoryConfigurationError: поставщик org.apache.xerces.jaxp.DocumentBuilderFactoryImp

но я не могу решить проблему. Я гуглил, но не могу найти хороших решений.

Кто-нибудь имеет представление о том, что может быть не так? И может быть, как это решить:)

Ответы [ 3 ]

3 голосов
/ 14 января 2010

org.apache.xerces из пакета Apache Xerces , и что-то в вашем приложении зависит от него. Попробуйте загрузить его (последняя версия 2.9.0) и добавить его в classpath вашего приложения.

0 голосов
/ 14 января 2010

DocumentBuilderFactory имеет многошаговый процесс поиска фактической реализации синтаксического анализатора, как описано в связанном JavaDoc. Ваше сообщение об ошибке почти наверняка оттуда.

Я подозреваю, что ваш скрипт запуска JBoss неправильно устанавливает системное свойство javax.xml.parsers.DocumentBuilderFactory (я уже видел это раньше, раньше использовал, чтобы избежать ошибки в выпущенной библиотеке). Я бы начал с поиска в каталоге конфигурации JBoss для этого свойства, а затем явным образом установил свойство jaxp.debug (также описанное в ссылке). Предполагая, что ваш сценарий запуска действительно явно устанавливает свойство, выясните, кто внес это изменение, и спросите его / ее, можете ли вы удалить его (или, если нет, предоставить вам правильные файлы JAR).

0 голосов
/ 14 января 2010

Поскольку вы отметили свой вопрос JBoss, я предполагаю, что ваш код выполняется в контейнере JBoss.

JBoss, возможно, уже загрузил версию Xerces для собственного использования, и вы пытаетесь загрузить другую версию в своем коде (явно или через некоторую зависимость), и конфигурация для вашей версии не совместима с версией, которая уже загружен.

Этот билет JIRA на JBoss.or g предлагает удалить файл xercesimpl.jar в папке jasperserver / WEB-INF / lib, чтобы разрешить использование вашей версии.

...