一般出現在從別處import的專案上,只有專案資料夾上有紅叉,其他地方都正常,現總結個人的幾個解決方案:
有幾種可能:
1,編碼設定是否一致,也即是你專案原來的編碼和現在eclipse用的預設編碼是否一致
2,匯入專案中jar路徑可能已經被改變,多數情況下都是這個原因造成,我也曾經遇見過,你要確保你的jar包路徑都沒問題。myeclipse有檢視jar路徑的檢視你可切換看看,報紅X的就都是路徑被改動過的,重新加進來就OK。
3,在problem控制檯裡有如下錯誤提示:Java compiler level does not match the version of the installed Java project facet。這種情況一般可以在專案上右鍵-->properties-->然後找到project facets和 Java Compiler兩個選項,修改其使用的jdk版本即可。如果沒有找到project facets選項,可以參考下面的方法:
當你安裝了兩個版本的JDK,用了兩個IDE開發工具,比如兩個myeclipse,Myeclipse8.5和Myeclipse9.0。
這時候涉及到了jdk版本的問題,而在Myeclipse中設定是比較隱藏的。
Eclipse下有個專案報如上錯誤,這個是因為Facted Project 中的Java 版本設定與專案的Java 版本設定不一致。而如果使用的是MyEclipse的話,這個配置修改起來就不是很方便,具體方法稍後再說。如果是eclipse jee版本,則使用javaee外掛是wtp,在wtp環境在,在當前專案上點右鍵,屬性--Project Facets中,配置編譯版本與java compiler的版本一致,問題即解決了。
MyEclipse中沒有Project Facets配置選項,則需要到當前專案的.settings資料夾下,找到org.eclipse.wst.common.project.facet.core.xml檔案,其內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.6"/>
<installed facet="jst.web" version="2.5"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
其中<installed facet="java" version="1.6"/>這行就是faceted project的編譯級別配置。<installed facet="jst.web" version="2.5"/>這行配置在某些情況下也需要修改,比如在MyEclipse中建了個web專案,後來又匯入到eclipse jee,有時候就需要修改這個配置。
儲存配置後,重新整理並build專案後,問題解決。