Как WebLogic 11g загружает библиотеки в файл EAR? У меня проблема с веб-приложением, которое при развертывании как WAR (с библиотеками, которые зависят от WEB-INF / lib) работает нормально. Однако, когда он находится внутри файла EAR, WebLogic не находит эти библиотеки, если я не помещаю их в APP-INF / lib. Означает ли это, что при развертывании как EAR мне придется вытащить все файлы JAR из каталога WEB-INF / lib и поместить их в APP-INF / lib? или существует ли конфигурация, которую можно выполнить в WebLogic, чтобы этого избежать?
Спасибо!
Ответ 1 · рейтинг 2 · Jeff West
Если у вас есть файлы JAR, которые необходимо совместно использовать между несколькими файлами WAR или между файлами WAR и файлами EAR, вам необходимо упаковать их в EAR.
Если WAR # 1 имеет JAR в своем WEB-INF / lib и упакован в EAR с WAR # 2, то WAR # 2 не сможет видеть файлы JAR в WAR # 1 / WEB-INF / lib.
Ответ 2 · рейтинг 1 · jonathan.cone
Решение вашей проблемы потребует некоторого понимания того, как загрузка классов Java EE работает в контейнере. Чтобы получить понимание, но основная проблема заключается в том, что, когда вы упаковываете свое приложение как EAR, вы вводите другой загрузчик классов (загрузчик классов приложения) в иерархию загрузки классов. Вы можете настроить WebLogic для загрузки из веб-приложения с помощью элемент Prefer-Web-Inf-Class.