Как настроить JBOSS для использования библиотеки xml в веб-приложении? - PullRequest
0 голосов
/ 05 февраля 2009

JBOSS бросает:

java.lang.NoSuchMethodError: org.w3c.dom.Document.getDocumentURI()Ljava/lang/String;

Ошибка при загрузке wsdl. Могу ли я настроить его так, чтобы он предпочитал библиотеку в моей WAR вместо системной или серверной библиотеки lib?

1 Ответ

1 голос
/ 05 февраля 2009

Сервер приложений должен уже использовать любые JAR-файлы в WEB-INF/lib вместе с путями к библиотекам системы и сервера приложений - стандартный подход к этому заключается в том, что ClassLoader для WEB-INF/lib делегирует загрузку класса библиотека сервера приложений, которая делегирует загрузку классов на серверную библиотеку, и только если родительский загрузчик классов не может найти класс, он пытается загрузить свои собственные классы.

Другими словами, если вы поместите один и тот же класс в WEB-INF/lib и в библиотеку сервера приложений, всегда будет использоваться последний JAR. Это означает, что можно создавать конфликты, имея классы с одинаковыми именами, но разными версиями, доступными как в WEB-INF/lib, так и в библиотеке сервера приложений. Вы уверены, что это не является причиной ваших проблем? Вы можете разрешить конфликт?

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...