eclipse編譯asn報錯
這個是有異常,就是系統報錯的地方可能出錯,需要你處理,寫法有兩種一直是自己捕獲並處理,另外一直是拋出異常
簡單的話,就是拋出異常,不管可以這么寫
public static void main(String[] args){
改成
public static void main(String[] args) throws Exception{
這樣是把異常拋出
或者在有異常的地方自己捕獲,並處理
try{
//這里把你代碼放進去
...
}catch (Exception e) {
//輸出異常信息
e.printStackTrace();
//異常處理
System.out.println("文件不存在");
}
B. 為什麼eclipse編譯不了
如果是eclipse或者myeclipse的IDE的話,請把滑鼠移動到報錯行的左邊(行標處的紅色XX位置),看看具體的錯誤信息,這樣更直觀
C. 我用Eclipse編JSP,編譯後報錯:Unable to compile class for JSP請求幫助
還是jdk路徑不對
編譯所需的tools.jar找不到
//------------------------------
說了是tools.jar沒加到項目的classpath下去
D. eclipse自動編譯問題
這兩天eclipse 突然不能自動編譯了,無論怎麼更改保存, classes目錄下都是空的.
在網上找了很多文章,總結如下:
1. 確保 project->build automatically 已經被選上.
2. 如果選上了,也不好使, 使用這一招: project->clean..->選第2個clean select project, 勾上start build immediatelly
3.刪除現在的項目,提前設置好編譯文件輸出路徑,重新導入源文件,設置eclipse為保存時編譯,然後在保存的時候就可以自動編譯了
4.如果項目里引了某個不用的jar包,而那個包又被你刪了,就會出現不報錯但怎麼也編譯不出來class文件的情況。Project-->properties-->Java Build Path-->Libraries,可以把所有包都刪除,然後一個一個的再引入(需要的),不要一下子把所有包都引入來,沒用的可能會引起不良後果。也可以把有問題的包(會有提示)直接remove掉即可。
5. 想刪掉某個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後沒有這個目錄,要手工加上有的工程就能自動編譯了
最開始的時候,我只找到了前面7個方法,但是他們都沒有解決我的問題.無意中我打開了"Problems"標簽,發現裡面說缺少work目錄,手工加上,然後刷新項目就可以了.
最後兩個是我在寫這個總結的時候發現的.特別是第九條,對使用CVS進行版本控制的項目比較有用.
E. eclipse編譯報錯An internal error occurred ring: "正在刪除編譯器問題標記...".
刪除工作空間下
.metadata\.plugins\org.eclipse.core.resources\.projects 裡面所有的.markes文件
F. Eclipse中編譯工程,報錯symbol XXX could not be resolved,這個是為什麼,是不是真的錯誤,怎麼修改
基本出現在這里的錯誤,都應該是你確實有問題,一般這里的錯誤,你都可以點擊右鍵,有一個快速修復的選項,可以修復一部分,剩餘的錯誤就要看是什麼錯誤了,看你的代碼,好像是C語言的,不熟悉,不過C的還是別用ECLIPSE了吧
G. 我編了一個JAVA程序 用Eclipse 編的 它老是報錯 「沒有為預設構造函數定義隱式超構造函數Animal()。
會不會是你父類寫了一個帶參數的構造方法,然後子類繼承時的構造方法調用了父類的無參構造方法。
換句話說就是,你的類如果定義了一個帶參數的構造方法,最好就要加個 類名() 的無參構造方法。
