jboss的classLoader问题

问题出现在,我将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用惯了,所有东西都用弹出提示了,就会让人不小心犯这种低级错误。

你可能感兴趣的:(eclipse,bean,jboss,Richfaces,seam)