Jboss 4.2 Class Loading

2019-04-11 19:31发布

I have a jar in server/default/lib which contains Foo.class,Bar.class

and the same class is there in my application/WEB-INF/classes which is deployed in server/default/deploy.

and Example.class is using the Foo.class instance and Bar.class instance

Now the situation is that Example.class shoud use the Foo.class in my application and Bar.class in default/lib jar file.

i.e. my application should use the classes in the application clases folder if not found in classes folder then it should use the class in default/lib jar files.

To do i have defined 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 is the jar which will be default/lib. com.eagle:eagle has no significance..

1条回答
beautiful°
2楼-- · 2019-04-11 20:31

Have a look at JBossClassLoadingUseCases. Your situation seems to be Use Case 4 (i.e. the class will be loaded from default/lib in preference to WEB-INF/classes.

What you seem to want is Use Case 3 (i.e. WEB-INF/classes preferred to default/lib), in which case you should omit the java2ParentDelegation=true config option from jboss-web.xml (or set it to false, which is the default).

查看更多
登录 后发表回答