關於lib資料夾和報java.lang.NoClassDefFoundError解決辦法
2、將引用的第三方包,新增進工作的build path。
3、(關鍵的一步)將lib設為原始檔夾source folder。如果不設定,則程式編譯可以通過,但執行的時候,會報:
java.lang.NoClassDefFoundError
libs 是 android預設的路徑 而lib是自定義的目錄路徑。
首先明確一點,folder,source folder,package都是資料夾,既然是資料夾,那麼任何的檔案都可以往這三種資料夾下面的放。
1.他們的區別
folder就是普通的資料夾,它和我們window下面使用的資料夾沒有任何區別
source folder資料夾是一種特別的資料夾,如果你用面向物件的思想去看待這個source folder,那麼他是folder的一個子集,作為子集,肯定是有folder的所有功能,而且還有自己特別的功能,他的特別之處,就是在source folder下面的java檔案都會被編譯
package資料夾也是一種特別的資料夾,他的特別之處在於:他必須存在於source folder下面,上下級通過.來區分,他的路徑最後組成了每一個類的包路徑名,如下圖:
2.他們的作用
folder就是最普通的資料夾,你任何想放在eclipse 下面的檔案都可以放在folder下面
source folder 設計出來就是用來放待編譯的java檔案的,因為java檔案要先被編譯,那麼就出現了一個問題,那麼資料夾下面的能被編譯?那個資料夾下面的不能被編譯?所以就設計出來一個特別的資料夾叫source folder,放在他下面的java檔案就能被編譯,而且,可以通過一定的配置將編譯檔案放在你配置的資料夾下面
package,設計出來就是給java檔案用來分包的,說白了,就是為了好管理java檔案,如果source folder看做是一座大樓,那麼我們是通過package將這座大樓分成了不同的樓層,不同的房間,不同的樓層不同的房間我們用來做不同的事情,房間裡面放了很多java類,有一點注意的是,最後package組成了一個路徑名,這個路徑名不是物理路徑,但java,裡面很多時候,就是用這個package組成的路徑名,如:web.xml,spring.xml等很多的配置
3.package,source folder,folder 之間相互轉換
package 轉成 folder 顯示:選中package, build path-> Exclude
folder 轉成 package 顯示:選中folder, build path-> Include
package 轉成 source folder 顯示:選中package, build path-> Use as Source folder
source folder 轉成 package 顯示:選中folder, build path-> Remove from BuildPath
pacage 與 source folder 的轉換同上
posted @ 2016-09-10 19:08李慕白520