MyEclipse中JavaMail冲突问题
生活随笔
收集整理的這篇文章主要介紹了
MyEclipse中JavaMail冲突问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
MyEclipse中的JavaEE5中的mail包中只有接口,而沒有實現,所以不能使用
會拋出:java.lang.NoClassDefFoundError: com/sun/mail/util/BEncoderStream異常
當導入mail.jar后,會拋出下面異常:java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
這是因為MyEclipse下有javamail的接口,并且mail.jar中也有javamail的接口,所以會出現沖突。
而MyEclipse中的JavaEE5是為了編譯環境而存在的,真正發布到Tomcat環境后,就不需要MyEclipse的JavaEE5了。
但是,如果你非要在WEB項目下,運行main()方法,這就會出現問題。mail.jar中的類與MyEclipseEE5中的類沖突。
如果你發布到Tomcat下,因為Tomcat自己有JavaEE的jar包,所以MyEclipse的JavaEE5不會發到Tomcat下,所以
Tomcat運行不會拋出異常。
進入下面路徑
D:\MyEclipse10\Common\plugins\com.genuitec.eclipse.j2eedt.core_10.0.0.me201110301321\data\libraryset\EE_5
找到javaee.jar,把這個jar包中與javax.mail相關的東西都刪除。
再把mail.jar和activation.jar導入到項目中,這就不會出錯了。
==================================
會拋出:java.lang.NoClassDefFoundError: com/sun/mail/util/BEncoderStream異常
當導入mail.jar后,會拋出下面異常:java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
這是因為MyEclipse下有javamail的接口,并且mail.jar中也有javamail的接口,所以會出現沖突。
而MyEclipse中的JavaEE5是為了編譯環境而存在的,真正發布到Tomcat環境后,就不需要MyEclipse的JavaEE5了。
但是,如果你非要在WEB項目下,運行main()方法,這就會出現問題。mail.jar中的類與MyEclipseEE5中的類沖突。
如果你發布到Tomcat下,因為Tomcat自己有JavaEE的jar包,所以MyEclipse的JavaEE5不會發到Tomcat下,所以
Tomcat運行不會拋出異常。
進入下面路徑
D:\MyEclipse10\Common\plugins\com.genuitec.eclipse.j2eedt.core_10.0.0.me201110301321\data\libraryset\EE_5
找到javaee.jar,把這個jar包中與javax.mail相關的東西都刪除。
再把mail.jar和activation.jar導入到項目中,這就不會出錯了。
==================================
總結
以上是生活随笔為你收集整理的MyEclipse中JavaMail冲突问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AutoCloseable的用法
- 下一篇: 心路历程(五)-find work an