天天看點

Eclipse無法自動編譯出class檔案

今天調試的時候發現問題:調試的時候竟然在我注釋的裡面走,當時那個郁悶啊,每次都要clean下才可以,晚上感覺不對勁,上網查了查,原來是bulid automatically這個我把勾去掉了,下面是原文,連結位址為http://kaoshi.china.com/java/learning/777807-1.htm

有時候用Eclipse或者MyEclipse的時候,發現不能自動編譯,web工程下面缺少class檔案!

  第一個可能是你的自動編譯沒打開:project->build automatically;第二個要注意你的工程項目上有沒有打小紅叉,項目報錯時,eclipse是不自動編譯的。你可以檢查一下是否有些類出錯,或是檢查一下“建構路徑”是否完整,特别是從換機子調試程式時,有些導入jar包的路徑不對。

  通常我們遇到的是第二個,就是有的包在别人機器上是有的,但是到你的機器上相同路徑是沒有的,删去和那個包有關系的,或者添加新的包路徑

  eclipse出現不編譯工程的現象。怎麼重新整理classes目錄下也是空的。

  具體都操作了:打開project->build automatically 試後不行,還是不編譯。

  打開project ——> build automatically 另外 clean一下就可能會編譯了,結果還不行。(一般先運作project ——>clean…,然後再執行build automatically)

  eclipse預設是選自動編譯。即使取消自動編譯,手動build工程,也不能編譯。

  出現這種情況一般有以下幾種原因:1.如果項目裡引了某個不用的jar包,而那個包又被你删了,就會出現不報錯但怎麼也編譯不出來class檔案的情況,可以把所有包都删除,然後一個一個的再引入(需要的),不要一下子把所有包都引入來,沒用的可能會引起不良後果。

  2.想删掉某個class檔案重新生成,删除class檔案後,但classes目錄下的檔案夾被其它程式打開,比如Total Commander.此時編譯也不會通過,在problems下可能會提示“con't delete classes ……”。關掉其它程式重新編譯即可。

  3.還有種情況是remove掉 JRE System Library,重新導入即可編譯。但是什麼原因導緻的還不清楚。

  4.項目引用了其他的項目,而被你引用的項目引用了某個不用的jar包之類

  如果你使用了maven你可以在指令提示行下,跳轉到項目路徑,執行mvn eclipse:clean eclipse:eclipse重新編譯項目

看到最後一行,有點感悟,寫這文章的時候隻知道轉載,那時候還不知道mvn是何物,而bulid automatically這個選項有時候不必打開!!這是真實的項目開發經驗,比如用mvn管理項目,而項目裡有組員送出了一段沖突的或者錯誤的代碼,而你取了下來,然後eclipse會預設自動編譯,如果你設定的記憶體小,編譯錯誤甚至可能導緻你eclipse崩潰掉,就算你重新打開eclipse還是會崩潰,那麼接下來崩潰的就是你!我在項目中就遇到過兩次這樣的錯誤!這時你隻需打開eclipse時把自動編譯關掉,然後找到錯誤代碼并改正,再打開自動編譯即可。

繼續閱讀