javamail 在LINUX 运行的一些异常

   在windows+MyEclipse+tomcat 用到J2EE 1.4的包,jdk是1.6 运行时没点问题。但部署到linux上,就出现问题了。linux上采用的也是jdk 1.6。

    主要是这样,我将J2EE1.4里的mail.jar activation.jar 两个包放到linux上 classicpath 进来。
运行,报
  
java.lang.SecurityException: SHA1 digest error for javax/mail/Authenticator.class 

异常。奇怪了,安全管理器抛出异常,难道jdk中有mail包? find了下 并未发现。我只有将mail.jar 与 activation.jar 两个包 放到 $JAVA_HOME/jre/lib/ext下,再次运行,可还是抛这个异常。

    难道是J2EE 1.4 的mail.jar 和 JDK1.6 存在问题?换成J2EE 5试试。
将J2EE5的javaee.jar 包放到 了 $JAVA_HOME/jre/lib/ext下,并将mail.jar和activation.jar 删掉。
运行,抛
javax.mail.NoSuchProviderException: pop3
        at javax.mail.Session.getService(Session.java:768)
        at javax.mail.Session.getStore(Session.java:569)
        at javax.mail.Session.getStore(Session.java:531)
        at com.skyarm.query.FetchSend.fetch(FetchSend.java:60)
        at com.skyarm.util.LocationReceive.run(LocationReceive.java:21)

异常!
    pop3出问题了?我在J2EE 1.4 mail.jar下面的META-INF的javamail.default.providers文件中能找到POP3的定义,但在J2EE5中找不到,难道是这个问题?
    那我只能这样了,将mail.jar 放到$JAVA_HOME/jre/lib/ext下,并且将J2EE5的javaee.jar 用winRar打开后 删除里面的mail和activation部分,再放到LINUX下的$JAVA_HOME/jre/lib/ext中。
运行,一切正常。


    其实,我没有尝试只用mail.jar能不能运行,能的话,那可以说前面都是白忙了。有心的朋友可以去试下。

你可能感兴趣的:(java,jdk,linux,javaee,ext)