两个常见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 ...
随机推荐
- Git 使用配置
应用情景:使用Git前需要配置 user.name 和 user.email 信息.Git利用这些信息记录谁进行了什么样的操作.Git属于分布式版本管理系统,开发者很多,配置这个就相当于自报家门,告诉 ...
- Python并行编程(十一):基于进程的并行
1.基本概念 多进程主要用multiprocessing和mpi4py这两个模块. multiprocessing是Python标准库中的模块,实现了共享内存机制,可以让运行在不同处理器核心的进程能读 ...
- vSphere虚拟机磁盘热扩容
1.添加硬盘 2.刷新服务器文件系统 新添加的硬盘需要刷新文件系统,要不然不能识别新添加的硬盘. 对scsi_host进行重新扫描,查找 scsi 驱动器的号 驱动号为scsi后面的数字,即为2,此时 ...
- Python(并发编程进程)
并发编程 二.多进程 要让Python程序实现多进程(multiprocessing),我们先了解操作系统的相关知识. Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊.普通的函 ...
- python一两行代码完成的骚操作
分享一个前几天晚上粉丝问的问题,觉得很实用的一个问题,用python读取Excel并保存字典,如何做? 下面是该同学问题截图和代码 代码截图是下面这样的 不知道大家第一眼看了这个代码,什么感受 ...
- 1. testNG+Maven 环境搭建
一:使用的工具 : TestNG 6.9.10 Maven 3.5 IDEA 二:创建maven项目,在pom.xml添加依赖 <?xml version="1.0" enc ...
- Spring第二弹—–搭建与测试Spring的开发环境
PS:Spring既可以使用在javaSE中,也可以使用在javaWeb中. 使用Spring需要的jar 下载spring(我下载的是2.5.6版本),然后进行解压缩,在解压目录中找到下面jar文件 ...
- PAT 1059 Prime Factors[难]
1059 Prime Factors (25 分) Given any positive integer N, you are supposed to find all of its prime fa ...
- 模块讲解----os
os:跟操作系统相关的信息 os模块的增删改查 一.cd进入: windowd: os.chdir("D:/软件/pychar/data/s13") print('获取当前位置:' ...
- HTML5游戏开发系列教程5(译)
原文地址:http://www.script-tutorials.com/html5-game-development-lesson-5/ 最终我决定准备下一篇游戏开发系列的文章,我们将继续使用can ...