2010-09-17 77 views
0

我有一個JavaMail的應用,在Android/Eclipse環境中工作正常,但投在NetBeans以下(移植Android應用到桌面):如何將NetBeans引導類路徑設置爲包含mail.jar?

javax.activation.UnsupportedDataTypeException: 沒有對象DCH的MIME類型 多/混合 邊界= 「---- = _ Part_0_7749469.1284737984291」

我發現了一個workaround here,但無法弄清楚如何在NetBeans應用它。 我已經將mail.jar添加到NetBeans編譯時庫,但不知道如何將NetBeans引導類路徑設置爲包含mail.jar,如變通方法中的建議。 從http://www.opensubscriber.com/message/[email protected]/7570201.html

JAF使用上下文類加載器 負載類。如果失敗,它將使用加載JAF 類的類加載器 。

當JAF封裝與應用 的JAF類 由同一個類加載器加載的 其他應用類,所以即使 上下文類加載器沒有設置JAF 可以找到其他應用程序 類。

當JAF是JDK的一部分時,JAF 類由系統 加載類加載器。如果沒有上下文 設置類加載器,JAF沒有 的方法來找到合適的類 加載器來加載應用程序類。

(由於JavaMail是打包帶 應用中,JavaMail的類被 一樣對待應用 類。)

一種解決方法是設置引導類 路徑包括的mail.jar。

如何將NetBeans引導類路徑設置爲包含mail.jar?

回答

2

除非您正在編寫NB插件,否則不需要它在NB引導類路徑上。你想在你的項目的課程路徑上。

首先,您需要將mail.jar添加爲庫。

  • Tools > Libraries
  • New Library
  • Library name Java郵件
  • Library Type:類庫
  • OK
  • Add JAR/Folder
  • 瀏覽了JavaMail。罐子
  • Add JAR/Folder
  • OK

現在,庫添加到您的項目

  • File > Project Properties
  • Libraries
  • Compile標籤
  • Add Library
  • (如果您使用NB 6.9,可能會有額外的Import Libraries一步這裏)從列表中
  • OK

這應該是它

  • 選擇Java郵件。

    請注意,您需要確保javamail.jar與您的應用程序一起分發;直接或通過jnlp文件。

  • +0

    對不起。沒有幫助。正如我在原始問題中所說的,我已經將mail.jar添加到NetBeans編譯時庫(以及activation.jar和additional.jar)中,但似乎存在上下文類加載器的一些問題:http ://www.opensubscriber.com/message/[email protected]/7570201.html。我嘗試了你的程序(我之前使用過一種稍微不同的方法),但是似乎只是再次添加庫。上面提出的解決方法是將引導類路徑設置爲包含mail.jar,但是我再也不知道該怎麼做。 – jacknad 2010-09-17 17:41:38

    +0

    我通過刪除activation.jar來擺脫錯誤。根據http://www.oracle.com/technetwork/java/index-138643.html'除非你使用Java SE 6,否則你還需要JavaBeans Activation Framework(JAF)擴展,它提供了javax.activation包。我們建議您使用最新版本JAF的1.1.1版本。 JAF包含在Java SE 6中。您的過程是正確的。我需要我的android環境中的activation.jar(和additional.jar)。謝謝。 – jacknad 2010-09-20 18:32:09