今天把机器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作为关键词搜索了下,居然还真让我找到了答案,之前也有网友遇到过这個问题,他也给出了相应的解决方法: 。原来问题出在workspace\project_name\.settings 目录的 org.eclipse.wst.common.project.facet.core.xml 文件里,该文件中的内容如下:
问题出在该文件的第三行中,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 ,问题解决。
。