приложение сервер должен уже использовать любые JARs в WEB-INF/lib
, наряду с системой и библиотеки сервера приложений путей - стандартный подход к этому является то, что ClassLoader для WEB-INF/lib
делегатов класса нагрузки на сервер приложений Lib, который делегирует класс загружается на сервер lib, и только если родительский загрузчик классов не может найти класс, он пытается загрузить свои собственные классы.
Другими словами, если вы поместите тот же класс в WEB-INF/lib
и lib сервера приложения, последний JAR всегда будет использоваться. Это означает, что можно создавать конфликты, имея классы с одинаковыми именами, но разные версии доступны как в WEB-INF/lib
, так и в lib сервера приложений - вы уверены, что это не то, что вызывает проблемы? Можете ли вы разрешить конфликт?
Некоторые серверы приложений (не уверены в JBoss, но я знаю, что это позволяет WebSphere) позволяет вам настроить загрузчик классов, чтобы сначала был проверен загрузчик по умолчанию (сначала child-first vs parent-first), но этот тип конфигурации может вызвать другие вопросы.
В конечном итоге я решил проблему, понизив свои весенние библиотеки до 1.0.4, которые работают с сервером JBOSS 4.0.2. Я сделал много исследований по загрузке классов на JBOSS: http://jboss.org/community/docs/DOC-9288, которые помогли понять и решить проблему. – jon077