"XX cannot be resolved to a type "eclipse報錯及解決說明


引言:

    eclipse新導入的項目經常可以看到“XX cannot be resolved to a type”的報錯信息,XX表示一個java類。本文將做以簡單總結。
正文:

    (1)jdk不匹配(或不存在)

    項目指定的jdk為“jdk1.6.0_18”,而當前eclipse使用的是“jdk1.6.0_22”。需要在BuildPath | Libraries,中做簡單調整。

    (2)jar包缺失或沖突

    當找不到“XX”所在的jar包時,會報這個錯。解決只需要找到(ctrl+點擊,可能能看到jar包名稱)對應jar包導入項目即可。

    另外,出現相同的XX時也會報此錯。可能需要調包、解包、選刪。

    (3)eclipse查找項目類型策略所致

    eclipse下,上述兩條都對比過了,沒有任何問題,可偏偏還報這錯。這時,需要操作一下 Project | Clean... ,問題即可解決。原因是,機制所致。因為某些特殊原因,eclipse沒能自動編譯源代碼到build/classes(或其他classes目錄),導致類型查找不到。

 (4) JRE的版本不匹配

  由於項目比較老,導致之前的很多java類在現有的JRE下無法使用,Eclipse老是提醒找不到。

 

 下面也會給出幾個例子:

a. Enumeration cannot be resolved to a variable 

  如果哪天你這么寫Enumeration enum;

  然后Eclipse刮是提示Enumeration cannot be resolved to a variable

  那就悲劇了,盡管程序可以運行,但是有些功能實現不了。。。。

  好了,解決方案還是挺簡單的,如果你當前使用的是JRE 1.5或者1.6或更高的,

  簡單的可以改為1.4或者以下,再來編譯,是不是好了,額

  為什么會這樣的呢?

   原來從Java5開始,enum已經作為一個關鍵字,那樣寫當然會有問題啦,所以另一種改法就是把enum換成別的名字咯

  Project-->Properties-->Java Build Path: add liberary , add the correct JRE .

b. 運行Servlet程序編譯的時候找不到javax.servlet包。

  解決辦法:

  1:servlet-api.jar復制到 C:\%Java_Home%\jre1.5.0_10\lib\ext

  2:在classpath中加入“D:\Tomcat 5.5\common\lib\servlet-api.jar;”

  以上方法你通過Javac 編譯和運行就沒問題 但是如果你是在Eclipse 環境下編譯起來還是出現軟件包不存在的問題;

  3:在Eclicpse8.6中還要配置引入這個包。方法是:

  打開project->project properties->Libraries->add external jars->把Tomcat下的servlet.api.jar導入。

  4.完成。再次運行的時候就能通過了。

  對於導入jsp-api.jar這個包也是一樣的, 他們位於Tomcat下tomcat的common\lib中有這個包中,將其導入到classpath下即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM