Target runtime Apache Tomcat v6.0 is not defined

今天把机器A上的几個Java Web工程的项目源代码导出之后,再导入到另外壹台机器B上,结果项目导入B之后,Eclipse 提示 Target runtime Apache Tomcat v6.0 is not defined. 仔细检查了导进来的几個项目的 Build Path,没有 unbound 状态的 JAR 包或者 User Library,也没有缺少其它的依赖包。将报错的几個项目分别添加到 Eclipse 中配置的 Tomcat 6.0 Server 容器中,也能正确的被识别出来,运行时也不没有提示错误。但是每個工程上的红色叉叉着实让人不爽,反复尝试重启 Eclipse,重启 Windows 或者删除再重新导入,都不能够解决该问题。

百思不得其解之下,只好求助于万能的通天塔搜索,将Target runtime Apache Tomcat v6.0 is not defined作为关键词搜索了下,居然还真让我找到了答案,之前也有网友遇到过这個问题,他也给出了相应的解决方法:http://blog.csdn.net/xw13106209/article/details/5910358 。原来问题出在workspace\project_name\.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>



问题出在该文件的第三行中,Apache Tomcat v6.0 是之前的 Eclipse 中使用的 Server Runtime 的名称,而我现在的环境下,Server Runtime 的名称不是这個,而是 Tomcat v6.0,结果Eclipse 仍然按照之前的名称去搜索相关的配置信息,当然就会找不到了,于是就提示 Not defined,只需要把<runtime>标签里的 Apache Tomcat v6.0 修改成我们现在的 Server Runtime 里使用的名字,即 Tomcat v6.0 就可以了。改完之后保存文件,并且重启 Eclipse ,问题解决。

你可能感兴趣的:(Target runtime Apache Tomcat v6.0 is not defined)