Загрузка класса Jboss 4.2 - PullRequest
3 голосов
/ 19 июня 2011

У меня есть банка в server/default/lib, который содержит Foo.class, Bar.class

, и тот же класс есть в моем application/WEB-INF/classes, который развернут в server/default/deploy.

и Example.class использует экземпляр Foo.class и Bar.class экземпляр

Теперь ситуация такова, что Example.class должен использовать Foo.class в моем приложении и Bar.class в default/lib файле jar.

т.е. мое приложение должно использовать классы в папке clause приложения, если не найдено в папке классов, тогда оно должно использовать класс в default/lib jar-файлах.

Для этого я определил jboss-web.xml file

<jboss-web>
   <class-loading java2ClassLoadingCompliance="true">
   <loader-repository>
         com.example:eagle=web-360.jar
         <loader-repository-config>java2ParentDelegation=true</loader-repository-config>
      </loader-repository> 
   </class-loading>
</jboss-web>

web-360.jar - это банка, которая будет default/lib.com.eagle:eagle не имеет значения ..

1 Ответ

3 голосов
/ 20 июня 2011

Посмотрите на JBossClassLoadingUseCases . Похоже, ваша ситуация - вариант использования 4 (т.е. класс будет загружен с default/lib вместо WEB-INF/classes.

То, что вам нужно, это вариант использования 3 (т. Е. WEB-INF/classes предпочтительнее default/lib), и в этом случае вы должны опустить параметр конфигурации java2ParentDelegation=true в jboss-web.xml (или установить его на false, по умолчанию).

...