前幾天出現了個奇怪的問題,Eclipse的class總是編譯不出,到網上查了查,知道了是丟失了jar包,檢查一看,果然有個外部jar被我不小心刪除了,重新加入到工程裏,問題解決。
現將原文貼出:
有時候用Eclipse或者MyEclipse的時候,發現不能自動編譯,web工程下面缺少class文件!
第一個可能是你的自動編譯沒打開:project->build automatically; (本人很少用, 只有修改後, 手動build all)
第二個要注意你的工程項目上有沒有打小紅叉,項目報錯時,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包之類
5.maven的pom文件有錯誤提示(只要項目出現叉叉或者驚歎號,就不能build project). 解決辦法見本人另一篇博客.
如果你使用了maven你可以在命令提示行下,跳轉到項目路徑,執行
mvn compile, 可以編譯這個project. 或者mvn install. 替代eclipse compile 和install.