一直困扰很久的问题,现在终于解决了额!!!
问题:每次启动Tomcat时都会报错,提示D:\apache-tomcat-7.0.78\webapps\test does not exist or is not a readable,server.xml被自动更新成错误的。
网上大多数修改方法为:
将D:\apache-tomcat-7.0.78\conf\server.xml中的<Context docBase="D:\apache-tomcat-7.0.78\webapps\test" path="/test" reloadable="true" source="org.eclipse.jst.jee.server:test"/>删除即可。但是这种方法存在一个非常痛苦的问题,每次你修改项目重启Tomcat后,server.xml文件会自动将<Context docBase="D:\apache-tomcat-7.0.78\webapps\FormHandling" path="/test" reloadable="true" source="org.eclipse.jst.jee.server:test"/>导入,从而又出现报错,所以还得手动在server.xml中删除,然后重启Tomcat才能启动成功。
出错原因有两个:
(1)eclipse启动tomcat时,会自动重新加载server.xml文件,导致已经删除的项目也被加载
(2)在项目空间中,对test项目的各种配置文件没有删除干净
正确解决方法:
步骤一(非常关键,这一步往往就可以解决了tomcat启动失败问题):
将eclipse中Servers中的server.xml配置正确,删除不必要的配置<Context docBase="D:\apache-tomcat-7.0.78\webapps\test" reloadable="true" source="org.eclipse.jst.jee.server:test"/>,这一步配置正确后,在eclipse启动tomcat时会自动更新server.xml,从而启动正确。
针对于问题2:
1.在项目空间中搜索出与test项目相关的文件并删除
2.将D:\apache-tomcat-7.0.78\webapps和D:\apache-tomcat-7.0.78\work\Catalina\localhost中的test项目删除
3.最后将D:\apache-tomcat-7.0.78\conf\server.xml中的<Context docBase="D:\apache-tomcat-7.0.78\webapps\test" reloadable="true" source="org.eclipse.jst.jee.server:test"/>删除
4.多次重启不会出现上述问题