posts - 32,  comments - 3,  trackbacks - 0
          網(wǎng)上很多人都說J2EE5兼容性不好,例如典型的javamail1.4中包與J2EE5中包接口包引起沖突,導(dǎo)致單元測試經(jīng)常報(bào)如下錯(cuò)誤:

              java.lang.NoClassDefFoundError: com/sun/mail/util/BEncoderStream

              當(dāng)然這個(gè)錯(cuò)誤是沒有將javamail的實(shí)現(xiàn)者引進(jìn)工程(沒有導(dǎo)包),但導(dǎo)包后,就會出現(xiàn)另外一個(gè)錯(cuò)誤:

              java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream

              此時(shí)甚至web容器都無法啟動,經(jīng)常會有網(wǎng)友們?yōu)檫@兩個(gè)異常搞得焦頭爛額,如此更換J2EE1.4,會對工程造成影響。但是一定要把概念弄清楚,問題就好 解決。J2EE5中mail.jar包定義的只是接口,沒有實(shí)現(xiàn),是不能真正發(fā)送郵件的,但開發(fā)編譯肯定是可以過去的,因?yàn)槲覀兪轻槍2EE規(guī)范編的程 序。而運(yùn)行期用Sun公司的JavaMail1.4的實(shí)現(xiàn)才可以開始發(fā)送郵件,但老大為什么把這兩個(gè)弄沖突了?

              筆者的解決辦法是:

              開發(fā)期不要導(dǎo)包,運(yùn)行期將javamail1.4壓縮文件中的mail.jar包放入到tomcat"lib目錄下,這樣完全可以通過開發(fā)和運(yùn)行。若要做 單元測試則新開一個(gè)Java Project,注意,不是web工程,此時(shí)可以將javamail1.4壓縮包中的mail.jar放入到工程的classpath下。

          posted on 2010-06-03 13:36 donghang73 閱讀(6838) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 平潭县| 赤峰市| 卢龙县| 昆明市| 新竹县| 三台县| 兖州市| 溧水县| 双柏县| 喀什市| 丰都县| 易门县| 东乡族自治县| 西丰县| 竹山县| 边坝县| 石阡县| 麻江县| 商南县| 九龙坡区| 宁明县| 高要市| 获嘉县| 宿州市| 遵化市| 昌吉市| 元江| 凭祥市| 永定县| 莲花县| 拜城县| 潮州市| 临朐县| 洛隆县| 丰城市| 五指山市| 霍林郭勒市| 屯昌县| 长治市| 绥芬河市| 延川县|