Сервер приложений должен уже использовать любые JAR-файлы в WEB-INF/lib вместе с путями к системе и библиотеке сервера приложений — стандартный подход к этому заключается в том, что ClassLoader для WEB-INF/lib делегирует загрузку класса в библиотеку сервера приложений, которая делегирует загрузку класса серверной библиотеке, и только если родительский загрузчик классов не может найти класс, он пытается загрузить свои собственные классы.
Другими словами, если вы поместите один и тот же класс в WEB-INF/lib и библиотеку сервера приложений, всегда будет использоваться последний JAR. Это означает, что можно создавать конфликты, имея классы с одинаковыми именами, но разными версиями, доступными как в WEB-INF/lib, так и в библиотеке сервера приложений. Вы уверены, что это не то, что вызывает ваши проблемы? Сможете ли вы разрешить конфликт?
Некоторые серверы приложений (не уверен насчет JBoss, но я знаю, что WebSphere это позволяет) позволяют настроить загрузчик классов так, чтобы дочерний загрузчик проверялся в первую очередь (сначала дочерний, а не родительский), но этот тип конфигурации может вызвать другие проблемы.
person
matt b
schedule
05.02.2009