两个常见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 ...
随机推荐
- MyBatis 工作流程及插件开发
1. MyBatis 框架分层架构 2. MyBatis 工作流程 获取 SqlSessionFactory 对象: 解析配置文件(全局映射,Sql映射文件)的每一个信息,并保存在Configurat ...
- CF #301 E:Infinite Inversions(逆序数,树状数组)
A-Combination Lock B-School Marks C-Ice Cave D-Bad Luck Island E-Infinite Inversions E:Infini ...
- Django接收自定义http header(转)
add by zhj: Django将所有http header(包括你自定义的http header)都放在了HttpRequest.META这个Python标准字典中,当然HttpRequest. ...
- npm命令,查看当前npm版本,更新nmp到最新版本,安装sails
打开Node.js command prompt 1 查看npm当前版本 npm -v 2 更新npm至最新版本 npm install npm@latest -g 3 安装sails npm in ...
- pytorch中的cat、stack、tranpose、permute、unsqeeze
Cat 对数据沿着某一维度进行拼接.cat后数据的总维数不变. 比如下面代码对两个2维tensor(分别为2*3,1*3)进行拼接,拼接完后变为3*3还是2维的tensor. import torch ...
- SDUT2857:艺术联合会(简单dp)
链接: http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2857 题目解析: 这是去年校赛的题目, ...
- CCF 201312-3 最大的矩形[比较简单]
问题描述 试题编号: 201312-3 试题名称: 最大的矩形 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ ...
- selenium 模块
介绍 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如 ...
- python全栈开发从入门到放弃之socket并发编程多线程
一 threading模块介绍 multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性,因而不再详细介绍 二 开启线程的两种方式 from threadi ...
- Oracle 分组函数
分组函数的介绍 分组函数作用于一组数据,并对一组数据返回一个值. (引用网上的一张图) 分组函数的使用规则 SELECT [column,] group_function(column) FROM t ...