在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。