weblogic8上jar包加载问题

在weblogic8环境中使用Apache Commons Email时遇到Java Mail API缺失的问题,由于JDK版本为1.4,导致类加载错误。通过分析发现,`javax.mail.internet.InternetAddress.validate()`方法未找到,原因是多个jar包(包括j2ee.jar和weblogic.jar)中存在同名类,但缺少相应方法。解决方法是调整`startWebLogic.sh`的CLASSPATH,确保mail.jar优先加载,避免加载含有冲突类的其他jar包。修改启动脚本并重启weblogic服务后,问题得到解决。
摘要由CSDN通过智能技术生成

    在weblogic8上要用Java Mail,引入了apache的commons-email-1.2.jar,因为weblogic8上用的JDK版本是1.4,所以没有Java Mail的API,需要引入mail.jar,然而在运行的时候,抛出了下面的异常

java.lang.NoSuchMethodError: javax.mail.internet.InternetAddress.validate()V

 

原因在于apache的commons-emial-1.2.jar中的代码调用了javax.mail.internet.InternetAddress这个类,而这个类应该在mail.jar中,反编译了mail.jar发现InternetAddress中有validate这个方法,经过调试发现,还有j2ee.jar和weblogic.jar这两个jar包中都有该类的class,而且都没有validate这个方法,所以现在问题是要让weblogic启动的时候加载mail.jar,而不要加载j2ee.jar或者weblogic.jar。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值