關於引入第三方jar包引發的java.lang.NoClassDefFoundError解決
阿新 • • 發佈:2019-02-18
在我們引入第三方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,差異還是很明顯的!