方法一
轉自:http://blog.csdn.net/xw13106209/archive/2010/09/27/5910358.aspx
Eclipse導入工程後工程上顯示一個小紅叉,但工程裡沒有檔案錯誤,也沒有文法錯誤,百思不得其解啊,後來在網上找了一些資料說是項目引用的類庫路徑有問題。【項目】->【右鍵】->【build path】->【configure build path】->【libraries】,檢視一下引用的類庫路徑。網上都說是因為這裡引用錯誤引起的,但是我在項目導入的時候做的第一件事情就是修改這裡的library,是以不是這個原因。
在problems中顯示錯誤是:Target runtime Apache Tomcat 6.0 is not defined. 在網上查了一下終于找到解決方法。方法是:在工程目錄下的.settings檔案夾裡,打開org.eclipse.wst.common.project.facet.core.xml檔案,其内容是:
<?xmlversion="1.0"encoding="UTF-8"?>
<faceted-project>
<runtimename="Apache Tomcat v6.0"/>
<fixedfacet="jst.web"/>
<fixedfacet="jst.java"/>
<installedfacet="jst.java"version="6.0"/>
<installedfacet="jst.web"version="2.5"/>
<installedfacet="wst.jsdt.web"version="1.0"/>
</faceted-project>
将其修改為:
<?xml version="1.0" encoding="UTF-8" ?>
<faceted-project>
</faceted-project>PS:進行上面的修改以後雖然沒有錯誤了,但是想釋出網站demo的時候發現沒有【run as】->【run on server】這個選項了。這時候我們建立一個demo2的web project,然後檢視.settings下的org.eclipse.wst.common.project.facet.core.xml,我們發現其内容是:
<?xml version="1.0" encoding="UTF-8" ?>
<faceted-project>
<runtime name="Apache Tomcat v6.0.29" />
<fixed facet="jst.web" />
<fixed facet="java" />
<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>那麼我們隻需要将該代碼拷貝到網站demo下的.settings目錄下,将原來的org.eclipse.wst.common.project.facet.core.xml覆寫即可。覆寫以後我們在Eclipse就能夠使用【run as】->【run on server】來釋出demo了。
方法二
轉自:http://always-missing.javaeye.com/blog/852969
這種情況出現的場景:
從别處copy源代碼,包括eclipse等的配置。這樣源代碼裡面包含了其它人的project配置。
JEE eclipse的修改方法:
在工程上點選右鍵------->Targeted Runtimes----->勾選自己的tomcat就可以了
同樣的情況也可能出現在JDK的版本上,有可能你自己電腦上用JDK6,其它人的電腦用JDK5,這個時候要修改JDK,要
在工程上點選右鍵--------->Project Facets------->勾選JAVA--------->選擇6.0