Jboss 4.2类加载

时间:2011-06-19 10:50:51

标签: java jboss classloader jboss-4.2.x

我在server/default/lib中有一个包含Foo.classBar.class

的jar

application/WEB-INF/classes中的server/default/deploy部署了相同的课程。

Example.class正在使用Foo.class实例和Bar.class实例

现在情况是Example.class应该使用我的应用程序中的Foo.classBar.class jar文件中的default/lib

即。我的应用程序应该使用application clases文件夹中的类,如果在classes文件夹中找不到它,那么它应该使用default/lib jar文件中的类。

我要定义jboss-web.xml文件

<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.jardefault/lib的jar。 com.eagle:eagle没有任何意义..

1 个答案:

答案 0 :(得分:3)

看看JBossClassLoadingUseCases。您的情况似乎是用例4(即,该类将从default/lib加载,而不是WEB-INF/classes

您似乎想要的是用例3(即WEB-INF/classes首选default/lib),在这种情况下,您应该忽略java2ParentDelegation=true中的jboss-web.xml配置选项(或将其设置为false,这是默认值。