两个常见tomcat警告分析

来源:互联网 发布:la域名在里注册便宜 编辑:程序博客网 时间:2024/06/06 14:19

转自:http://webserver.300364.net/show/38025513794036556805.html


1.

警告描述:

[SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property ‘source’ to ‘org.eclipse.jst.jee.server:XXX’ did not find a matching property.

原因分析:

这个警告是说 TOMCAT_HOME/conf/server.xml 文件中的 元素有一个未知的属性source ,这个source 其实是Eclipse WTP 为 元素增加的唯一标识,以便Eclipse 能够将其与具体部署的项目相关联。这个属性是Eclipse 自定义的, TOMCAT 不认识于是给出警告。

处理方式:

对于该警告,我的建议是忽略它,因为没有好的办法消除它。

解释:

首先,每次在Eclipse 中重启TOMCAT ,Eclipse 都会重写 元素,所以手动删除source属性毫无意义。

其次,网上提供的解决方案虽然消除了这一警告,却得到类似的另一警告,所以也是毫无意义。

网上很多人提供的处理办法是:在EclipseServer配置界面,勾选”Publish module contexts to separate XML files”,但他们并不清楚这个选项的意义,

这个选项其实是将TOMCAT_HOME/conf/server.xml 文件中的 元素单独拎出来作为一个 XML 文件,即在TOMCAT_HOME/conf/Catalina/localhost 目录下单独生成 xxx.xml 文件,以替代TOMCAT_HOME/conf/server.xml 文件中的 元素。

这样做虽然没有以上警告,却带来了另一个性质一样的警告:

[SetContextPropertiesRule]{Context} Setting property ‘source’ to ‘org.eclipse.jst.jee.server:xxx’ did not find a matching property.

因此对于想消除警告来说,这一做法毫无意义。

2.

警告描述:

A docBase TOMCAT_HOME/webapps/xxx inside the host appBase has been specified, and will be ignored

原因分析:

这一警告通常都是在处理第一个警告时,按网上的方法勾选了”Publish module contexts to separate XML files”之后,

可能很多人像我一样习惯于将项目部署到TOMCAT_HOME/webapps 目录下,这时没有勾选”Publish module contexts to separate XML files”,

则会生成TOMCAT_HOME/conf/server.xml 文件中的 元素,其中的docBase 属性是相对路径,没有问题,

但是当勾选”Publish module contexts to separate XML files”之后,生成了单独的配置文件 xxx.xml ,里面的 元素的docBase 属性用了绝对路径,

这时,TOMCAT 通过xxx.xml 文件的 元素的docBase 属性找到了该项目,之后在扫描TOMCAT_HOME/webapps 目录时有找到了该项目,

此时就是重复了,所以TOMCAT 给出警告说第二次找到的项目已经有了会被忽略。

处理方式:

不要将项目部署到TOMCAT_HOME/webapps 目录,或者不要勾选”Publish module contexts to separate XML files”

建议:将项目部署到TOMCAT_HOME/wtpwebapps 目录

0 0
原创粉丝点击