经验共享:解决一个weblogic的jar包冲突问题

j2ee应用是在tomcat环境下开发和测试的,没问题,移植到WebLogic Server( 版本: 10.3.5.0)之下,大部分功能都正常,就是附件同步有问题
,报找不到 org.apache.commons.net.XXX.yyy(),但是此文件明明在 WEB-INF/lib 下面,以为是部署缓存问题,删除了部署,部署了又删除,还是搞不定,郁闷的一米。

后来一想,可能是jar包冲突问题,于是单独把jar包拷贝到weblogic的domain下/app/weblogic/Oracle/Middleware/user_projects/domains/jjjc_domain/lib下,重启weblogic后,他会自动把jar加载到classpath里,

<2011-10-27 下午08时15分29秒 GMT+08:00> <Notice> <WebLogicServer> <BEA-000395> <Following extensions directory contents added to the end of the classpath:
/app/weblogic/Oracle/Middleware/user_projects/domains/jjjc_domain/lib/commons-net-3.0.1.jar>

再试,还是不管用。再想,可能不是和domain的包冲突,可能就是和weblogic的全局包冲突,于是find

[weblogic@jjjc1 ~]$ cd Oracle/Middleware/
[weblogic@jjjc1 Middleware]$ find . -name *net*.jar

在众多的结果里挑选了一下,确定目标就是
./modules/com.bea.core.apache.commons.net_1.0.0.0_1-4-1.jar

调包前备份老jar,以免宕机
[weblogic@jjjc1 Middleware]$ mv ./modules/com.bea.core.apache.commons.net_1.0.0.0_1-4-1.jar .
[weblogic@jjjc1 Middleware]$ mv ./user_projects/domains/jjjc_domain/lib/commons-net-3.0.1.jar ./modules/

重启weblogic,重新部署app,一切如想象中的OK。

记得五六年前,折腾websphere6的时候,也遇到过类似的问题,看来经验还是值钱的。

题外话:commons-net包,最新的都3.0版本了,为啥weblogic还在用1.0的包,咋不与时俱进呢????
posted @ 2011-10-27 20:36  longware  阅读(654)  评论(0编辑  收藏  举报