導入項目時常遇到目標運行時未定義錯誤,原因是項目配置文件指定的 Tomcat 版本與當前工作區配置不匹配。提供兩種快速修復方案。
項目 .settings/org.eclipse.wst.common.project.facet.core.xml 中聲明的運行時名稱(如 Apache Tomcat v6.0)在當前 Eclipse 工作區中不存在。
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<runtime name="Apache Tomcat v6.0"/>
<fixed facet="java"/>
<fixed facet="jst.web"/>
<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>
將 runtime name 改為當前工作區已配置的 Tomcat 運行時名稱(可在 Preferences → Server → Runtime Environments 查看)。例如改為 Apache Tomcat v8.0.33:
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<runtime name="Apache Tomcat v8.0.33"/> <!-- 修改為實際運行時名稱 -->
<fixed facet="java"/>
<fixed facet="jst.web"/>
<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"/>
<installed facet="me.spring" version="3.1"/>
</faceted-project>
保存後刷新項目(F5),錯誤即可消失。
此法更簡潔,推薦優先使用。
核心在於使項目聲明的目標運行時與工作區實際配置一致。手動改 XML 適合輕量級 Eclipse;導入遷移適合 MyEclipse 等增強版 IDE。修復後記刷新項目並清理構建緩存。