当我在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
答案 0 :(得分:0)
查看以下链接:
Solving JBoss 5 classloading issues
useJBossWebClassLoader in JBoss5
JBoss 5添加了自定义元数据文件的概念,其中一个是jboss-classloading.xml
,可以让您准确定义war类加载器的构造方式。