Я использую сервер приложений JBoss 4.2.2.GA в среде разработки. У меня есть файл WAR, MyWar.war
и файл JAR ExternalJar.jar
. Эти файлы структурированы следующим образом:В JBoss я могу настроить местоположение «разделяемой библиотеки»?
Application WAR файл:
MyWar.war
|
|--- AppClass1.class
|
|--- AppClass2.class
Внешний файл банку (предоставленный клиентом):
ExternalJar.jar
|
|--- ExternalClass.class
ExternalClass необходимо использовать AppClass1 и AppClass2 необходимо использовать ExternalClass. Когда я развертываю WAR в JBoss и ставил JAR в путь класса JBoss, я получаю LinkageError при создании экземпляра ExternalClass
при запуске приложения. Кажется, что WAR видит ExternalClass
, но ExternalClass
не может получить доступ к классам в WAR.
Если я вручную разместил ExternalJar
в файле WAR (WEB-INF/lib), он отлично работает. Но мы не хотим изменять файлы архива, чтобы поддерживать согласованность с нашими производственными развертываниями.
Есть ли какая-либо конфигурация или настройка в JBoss, которая позволяет использовать папку общей библиотеки, которая будет включена в путь класса для приложения ?
Есть ли какая-то особая причина, почему вы не можете иметь в себе банку, связанную с вами войной, как часть вашей логики построения войны? – Romain
Эта банка придет от клиента, и у нас ее не будет во время создания войны. Мы можем дать нашу войну клиенту и попросить его создать его jar.Jboss должен быть в состоянии выбрать его во время выполнения. Как война, так и банка должны быть в состоянии видеть друг друга в соответствии с приведенной выше иллюстрацией. –