1. 程式人生 > >關於引入第三方jar包引發的java.lang.NoClassDefFoundError解決

關於引入第三方jar包引發的java.lang.NoClassDefFoundError解決

       在我們引入第三方jar包的時候,有時候編譯不報錯,但執行會報java.lang.NoClassDefFoundError;

針對這個問題,以下兩種方案可以解決問題,但建議選取第二種,因為第一種會很大程度上的增大包大小:

第一種方案:

1、將需要的第三方包拷貝進libs 資料夾。
2、將引用的第三方包,新增進工作的build path -->工程上右鍵 -->Properties -->Java Build Path -->Libraries -->add jars -->新增進對應jar包
3、(關鍵的一步)將lib設為原始檔夾。---libs資料夾右鍵-->build path -->Use as Source Folder


此時應該就可以編譯運行了,可以看下對應包大小是不是增大不少(預計是增加jar包2倍大小);

第二種方案:

滑鼠右鍵專案,然後屬性(Properties),然後java build path 然後order and export 使android private librars處於勾選狀態,讓你的jar包也處於勾選狀態

此時編譯執行應該也ok,此時包大小增加在可接受範圍;

個人例項:

本來大小 600k,合入一個三方jar

第一種方式eclipse編完2.4M,第二種方式eclipse編完1.1M,差異還是很明顯的!