JBoss类加载器命令 - 另一个尝试理解它

时间:2011-02-13 16:18:37

标签: java jboss5.x classloader

当我在JBoess 5.1上部署应用程序时,Jboss从我知道的3个不同的可选位置获取第三方罐子:
1. my-app / WEB-INF / lib
2. [JBoss root] / lib
3. [JBoss root] / server / all / lib

我选择配置jboss-web并因此修改我所知道的JBoss类加载如下:
选项1:

<jboss-web>
   <class-loading> 
      <loader-repository>com.example:archive=unique-archive-name</loader-repository> 
   </class-loading>
</jboss-web>

选项2:

<jboss-web>
   <class-loading java2ClassLoadingCompliance="false">
      <loader-repository>
         com.example:archive=unique-archive-name
         <loader-repository-config>java2ParentDelegation=false</loader-repository-config>
      </loader-repository>
   </class-loading>
</jboss-web>

选项3:

<jboss-web>
   <class-loading java2ClassLoadingCompliance="true">
      <loader-repository>
         com.example:archive=unique-archive-name
         <loader-repository-config>java2ParentDelegation=false</loader-repository-config>
      </loader-repository>
   </class-loading>
</jboss-web>

在尝试这些选项时,我在尝试不同选项时遇到了不同的部署异常。
我的问题:我在上述每个选项中提到的3个jar文件夹的顺序是什么。 那些JBoss的链接并没有帮助我理解不同的行为:
link1
link2

1 个答案:

答案 0 :(得分:0)

查看以下链接:

Solving JBoss 5 classloading issues

useJBossWebClassLoader in JBoss5

JBoss 5添加了自定义元数据文件的概念,其中一个是jboss-classloading.xml,可以让您准确定义war类加载器的构造方式。