jboss的classLoader问题

本文详细记录了解决JBoss4.2环境下EAR与WAR项目之间的类加载冲突问题的过程,通过调整JBoss配置实现了正确的类加载路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题出现在,我将richfaces的tree例子放到seam的ear项目中的时候,bean中竟然找不到UITree对象,报classNotFound

从而我发现,默认seam将ear的jar文件和war的jar文件分开放了

比如:同样是richfaces的jar,有三个,但是在ear/lib下面只有一个api,在WEB-INF/lib下面只有ui和impl

猜到可能是这里出的问题,于是导出查找资料。seam官方论坛上有人说,将所有的lib全部放在ear下面,然后在war里面添加META-INF/MANIFEST.MF文件,在这个文件的Class-Path属性里面写上要加载的包

但是怎么试都试不出来,不知道这里的classpath该怎么写才能让war去找ear/lib下面的包(希望高人指点这样怎么实现)

于是干脆我将包复制两份,ear和war下面都放一份,然后报错,具体的不记得了,貌似是类重复加载,然后结果还是找不到

找了一天半,终于让我找到一个文章,里面说,jboss4.2将ear和war的classLoader分开了,需要修改jboss下面server\default\deploy\jboss-web.deploy\META-INF\jboss-service.xml里面的配置,让jboss的classLoader合并为一个,但是文章还是没有说清楚到底该改哪个值。

还好,jboss的注释做的好,我英文还勉强能在词典的帮助下看懂注释说的什么最终将

<attribute name="UseJBossWebLoader">false</attribute>中的false改成true就ok了

开始我还写成了ture,让我多费了一番周折,哎,eclipse用惯了,所有东西都用弹出提示了,就会让人不小心犯这种低级错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值