WAR загружается по-разному в weblogic, когда внутри EAR, почему? - PullRequest
2 голосов
/ 21 июля 2011

Как WebLogic 11g загружает библиотеки в EAR-файл?У меня есть проблема с веб-приложением, которое при развертывании как WAR (с библиотеками зависит от WEB-INF / lib) работает нормально.Однако, когда он находится внутри EAR-файла, WebLogic не находит эти библиотеки, если я не поместил их в APP-INF / lib.Означает ли это, что если я развертываю как EAR, мне нужно будет извлечь все файлы JAR из каталога WEB-INF / lib и поместить их в APP-INF / lib?или есть конфигурация, которую можно выполнить в WebLogic, чтобы избежать этого?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 21 июля 2011

Если у вас есть JAR-файлы, которые вам нужны для совместного использования между несколькими WAR-файлами или между WAR-файлами и EAR-файлами, вам нужно будет упаковать их в EAR.

Если WAR # 1 имеет JAR в своем WEB-INF / lib и упакован в EAR с WAR # 2, то WAR # 2 не сможет видеть файлы JAR в WAR # 1 / WEB-INF / Lib.

1 голос
/ 21 июля 2011

Решение вашей проблемы потребует некоторого понимания того, как загрузка классов Java EE работает в контейнере. Чтобы получить понимание, вам нужно взглянуть на эту ссылку , но основная проблема заключается в том, что когда вы упаковываете свое приложение как EAR, вы вводите в загрузочную модель класса еще один загрузчик классов (загрузчик классов приложения). Вы можете настроить загрузку WebLogic из вашего веб-приложения, используя элемент lovely-web-inf-classes .

...