今天使用Eclipse 創建Java Web工程時,運行時總是找不到對應的 Servelt,到classes 目錄下才發現, 所有的 .java文件都沒有編譯, classes目錄下是空的.
總結有如下幾種方法:
- 確保 project->build automatically 已經被選上.
- 如果選上了,也不好使, 使用這一招: project->clean..->選第2個clean select project, 勾上start build immediatelly
3.刪除現在的項目,提前設置好編譯文件輸出路徑,重新導入源文件,設置Eclipse為保存時編譯,然后在保存的時候就可以自動編譯了
4.如果項目里引了某個不用的jar包,而那個包又被你刪了,就會出現不報錯但怎么也編譯不出來class文件的情況,可以把所有包都刪除,然后一個一個的再引入(需要的),不要一下子把所有包都引入來,沒用的可能會引起不良后果.
- 想刪掉某個class文件重新生成,刪除class文件后,但classes目錄下的文件夾被其它程序打開,比如Total Commander。此時編譯也不會通過,在problems下可能會提示“con''t delete classes ……”。關掉其它程序重新編譯即可。
6.還有種情況是remove掉 JRE System Library,重新導入即可編譯。但是什么原因導致的還不清楚。
7.把build path中所有包都remove掉。然后又add jars,add libraries把需要的加進去,居然又開始編譯了。。。
8.project->properties->java build path->source->.../WEB-INF/src的output folder不要默認,編輯讓它指向../WEB-INF/classes
然后重新點擊build工程即可自動編譯。我的問題出在這里,我把這個編譯目錄給誤刪了
9.再就是最重要的要看工程下面是否缺少了work目錄,由于CVS控制時不把work加如版本,所以checkout后沒有這個目錄,要手工加上有的工程就能自動編譯了