第一件事:新建项目时在Dynamic web module version栏里选了最新的3.0版本,部署时报错:
Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules
解决方案:
通过search,发现在project的.setting folder下面,有个名为org.eclipse.wst.common.project.facet.core.xml的文件,里面配置有各种版本信息。此时,按照本机配置修改这个文件,问题就解决了。
<installed facet="jst.web" version="3.0"/>
像我这样的错误,可以下载Tomcat 7。0解决,也可以就在配置文件中把<installed facet="jst.web" version="3.0"/> 改成低些的版本version="2.5" 就好了。
第二件事:警告:Setting property 'source' to 'org.eclipse.jst.j2ee.server:strut2demo' did not find a matching property.
Tomcat启动时提示:org.apache.tomcat.util.digester.SetPropertiesRule begin
警 告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:strut2demo' did not find a matching property.
[SetPropertiesRule]警告的原因是Tomcat6.0的server.xml的context节点中不支持source属性,详细可以访问tomcat.apache.org,具体相关内容是:
For Tomcat 6, unlike Tomcat 4.x, it is NOT recommended to place <Context> elements directly in the server.xml file. This is because it makes modifying the Context configuration more invasive since the main conf/server.xml
file cannot be reloaded without restarting Tomcat.
这里通过修改Tomcat server配置(使用的是eclipse)。关闭server,然后在server视图中双击server,打开配置界面,选中下面的”Publish module contexts to separate XML files”,保存退出。
第三件事:警告: A docBase D:/Tomcat/webapps/myApp inside the host appBase has been specified, and will be ignored
假设要部署工程 "myApp", 放到了 ${catalina.home}/webapps 下。(这相当于隐性的定义了一个 docBase ,指向
" ${catalina.home}/webapps/myApp " )。
同时在 /conf/Catalina/localhost 下建立了配置文件 myApp.xml ,在其中定义了 docBase , 目标指向 " ${catalina.home}/webapps/myApp " 。
这 样,在 Tomcat 启动的时候,先找到了 myApp.xml 配置文件中定义的 docBase, 然后 Tomcat 自动检测 ${catalina.home}/webapps 下是否存放了合法的工程,并自动加载(根据配置文件的设置)。这样,Tomcat 又找到了一个相同的 docBase, 所以输出了错误信息。
将 myApp 工程 从 ${catalina.home}/webapps 目录移出, 然后 修改 配置文件 myApp.xml 指向该目录。
参考:
http://www.cnblogs.com/chanedi/articles/2112477.html
http://siruoxian.iteye.com/blog/1103347
http://blog.csdn.net/knityster/article/details/6310476