В JBoss я могу настроить расположение "общей библиотеки"? - PullRequest
2 голосов
/ 03 декабря 2009

Я использую сервер приложений JBoss 4.2.2.GA в среде разработки. У меня есть файл WAR, MyWar.war и файл JAR ExternalJar.jar. Эти файлы структурированы следующим образом:

Файл WAR приложения:

MyWar.war
|
|--- AppClass1.class
|
|--- AppClass2.class    

Внешний файл JAR (предоставляется клиентом):

ExternalJar.jar
|
|--- ExternalClass.class

ExternalClass должен использовать AppClass1, а AppClass2 должен использовать ExternalClass. Когда я развертываю WAR в JBoss и помещаю JAR в путь класса JBoss, я получаю LinkageError при создании экземпляра ExternalClass при запуске приложения. Кажется, что WAR видит ExternalClass, но ExternalClass не может получить доступ к классам в WAR.

Если я вручную добавлю ExternalJar в файл WAR (WEB-INF / lib), он будет работать нормально. Но мы бы не хотели изменять архивные файлы для обеспечения согласованности с нашими производственными развертываниями.

Существует ли какая-либо конфигурация или настройка в JBoss, которая позволяет использовать папку общей библиотеки, которая будет включена в путь к классу для приложения ?

Ответы [ 2 ]

1 голос
/ 04 декабря 2009

Вы можете развернуть файл jar точно так же, как вы развернули войну. Поскольку JBoss использует общий загрузчик классов, ваш jar сможет получить доступ к классам, загруженным с войны.

1 голос
/ 04 декабря 2009

Вы можете отключить изоляцию загрузчика классов WAR-файлов, выполнив следующие действия:

Открыть этот файл %JBOSS_HOME%\server\<serverName>\deploy\jboss-web.deployer\META-INF\jboss-service.xml

Установите для этого атрибута значение true: <attribute name="UseJBossWebLoader">true</attribute>

Вы должны иметь возможность поместить JAR-файл расширения в каталог deploy/ вместе с файлом WAR.

Этот параметр может вызвать проблемы, если вы загружаете несколько файлов WAR с одинаковыми библиотеками, поэтому YMMV.

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