两个常见tomcat警告分析
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 文件中的 <Context> 元素有一个未知的属性 source ,这个 source 其实是 Eclipse WTP 为 <Context> 元素增加的唯一标识,以便 Eclipse 能够将其与具体部署的项目相关联。这个属性是 Eclipse 自定义的, TOMCAT 不认识于是给出警告。
- 处理方式:
对于该警告,我的建议是忽略它,因为没有好的办法消除它。
- 解释:
首先,每次在 Eclipse 中重启 TOMCAT , Eclipse 都会重写 <Context> 元素,所以手动删除 source 属性毫无意义。
其次,网上提供的解决方案虽然消除了这一警告,却得到类似的另一警告,所以也是毫无意义。
网上很多人提供的处理办法是:在 Eclipse Server 配置界面,勾选”Publish module contexts to separate XML files”,但他们并不清楚这个选项的意义,
这个选项其实是将 TOMCAT_HOME/conf/server.xml 文件中的 <Context> 元素单独拎出来作为一个 XML 文件,即在 TOMCAT_HOME/conf/Catalina/localhost 目录下单独生成 xxx.xml 文件,以替代 TOMCAT_HOME/conf/server.xml 文件中的 <Context> 元素。
这样做虽然没有以上警告,却带来了另一个性质一样的警告:
[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 文件中的 <Context> 元素,其中的 docBase 属性是相对路径,没有问题,
但是当勾选”Publish module contexts to separate XML files”之后,生成了单独的配置文件 xxx.xml ,里面的 <Context> 元素的 docBase 属性用了绝对路径,
这时,TOMCAT 通过 xxx.xml 文件的 <Context> 元素的 docBase 属性找到了该项目,之后在扫描 TOMCAT_HOME/webapps 目录时有找到了该项目,
此时就是重复了,所以 TOMCAT 给出警告说第二次找到的项目已经有了会被忽略。
- 处理方式:
不要将项目部署到 TOMCAT_HOME/webapps 目录,或者不要勾选”Publish module contexts to separate XML files”
建议:将项目部署到 TOMCAT_HOME/wtpwebapps 目录
两个常见tomcat警告分析的更多相关文章
- tomcat架构分析 (Session管理)
Session管理是JavaEE容器比较重要的一部分,在app中也经常会用到.在开发app时,我们只是获取一个session,然后向session中存取数据,然后再销毁session.那么如何产生se ...
- 常见压缩格式分析,及 Linux 下的压缩相关指令
可先浏览加粗部分 一.常见压缩档 *.zip | zip 程式壓縮打包的檔案: (很常见,但是因为不包含文件名编码信息,跨平台可能会乱码) *.rar | winrar 程序压缩打包的档案:(在win ...
- (转)Db2 数据库常见堵塞问题分析和处理
原文:https://www.ibm.com/developerworks/cn/analytics/library/ba-lo-db2-common-blocking-problem-analyze ...
- Tomcat启动分析(转自:http://docs.huihoo.com/apache/tomcat/heavyz/01-startup.html)
Tomcat启动分析 1 - Tomcat Server的组成部分 1.1 - Server A Server element represents the entire Catalina servl ...
- tomcat原理分析与简单实现
tomcat原理分析与简单实现 https://blog.csdn.net/u014795347/article/details/52328221 2016年08月26日 14:48:18 卫卫羊习习 ...
- tomcat架构分析(connector BIO 实现)
出处:http://gearever.iteye.com 在tomcat架构分析(概览)中已经介绍过,connector组件是service容器中的一部分.它主要是接收,解析http请求,然后调用本s ...
- [转]Tomcat启动分析
[转]Tomcat启动分析 原帖 http://docs.huihoo.com/apache/tomcat/heavyz/01-startup.html 以下摘录了部分 --------------- ...
- Tomcat启动分析(我们为什么要配置CATALINA_HOME环境变量)
原文:http://www.cnblogs.com/heshan664754022/archive/2013/03/27/2984357.html Tomcat启动分析(我们为什么要配置CATALIN ...
- java:Servlet(Create,LifeCycle,ServletWeb.xml文件的配置,交互式,Tomcat文件分析,单例安全模式)
1.Servlet: Servlet 的主要功能在于交互式地浏览和修改数据,生成动态 Web 内容.这个过程为: 客户端发送请求至服务器端: 服务器将请求信息发送至 Servlet: Servlet ...
随机推荐
- 解决Bat脚本中包含中文,运行乱码
bat文件右键用“编辑” 打开, 另存为时,UTF-8保存为ANSI 格式.即可解决运行时乱码问题.
- 转:docker的核心技术深度剖析
一.docker是什么 Docker的英文本意是码头工人,也就是搬运工,这种搬运工搬运的是集装箱(Container),集装箱里面装的可不是商品货物,而是任意类型的App,Docker把App(叫Pa ...
- 0604-Zuul构建API Gateway-Zuul的回退
一.概述 参看地址:https://cloud.spring.io/spring-cloud-static/Edgware.SR3/single/spring-cloud.html#hystrix-f ...
- Oracle中to_number()函数的用法
to_number()函数是oracle中常用的类型转换函数之一,是将一些处理过的按一定格式编排过的字符串变回数值型的格式. 1.to_number()函数可以将char或varchar2类型的str ...
- python学习笔记(十三)接口开发
一.开发接口的作用 1.mock接口,模拟一些接口,在别的接口没有开发好的时候,需要开发一些模拟接口进行调试和测试. 2.查看数据,比如,获取所有学员信息的接口,就不需要提供数据库的查看信息. 二.接 ...
- 查看MySQL变量
类似于Oracle的参数文件,MySQL的选项文件(如my.cnf)用于配置MySQL服务器,但和Oracle叫法不一样,在MySQL里, 官方叫变量(Varialbes),但其实叫参数也是可以的,只 ...
- 关于/proc/进程idpid/fd ,根据fd来查找连接
当创建好epoll句柄后,它就是会占用一个fd值,在linux下如果查看/proc/进程id/fd/,是能够看到这个fd的,所以在使用完epoll后,必须调用close()关闭,否则可能导致fd被耗尽 ...
- session、cookie、token
各自应用场景考虑session.token.cookie是不是有各自的应用场景,比如传统项目适合用session和cookie单页应用适合用token分布式适合用token等等 token如果非要选择 ...
- asp.net Mvc 使用uploadify 上传文件 HTTP 302 Error
CSHTML代码 @{ if (Request.Cookies[FormsAuthentication.FormsCookieName] != null) { <input type=" ...
- JavaScript常用工具方法封装
因为工作中经常用到这些方法,所有便把这些方法进行了总结. JavaScript 1. type 类型判断 isString (o) { //是否字符串 return Object.prototype. ...