如何查找Tomcat上运行应用当前生效的context.xml配置文件
Tomcat运行应用实际加载context.xml文件定位方法
方法1:直接查找Tomcat实例的host级配置目录
Tomcat会优先读取实例配置目录下的应用专属context配置,优先级高于应用自带的配置:
- 先找到你当前运行Tomcat的
$CATALINA_BASE路径(默认安装未修改的场景下,通常和$CATALINA_HOME路径一致 - 进入路径
$CATALINA_BASE/conf/Catalina/,找到对应站点的主机名文件夹(默认是localhost) - 查看文件夹下和你应用名同名的xml文件,该文件就是当前应用实际加载的context配置,只要该文件存在,应用
/META-INF/context.xml文件就不会被加载。
方法2:通过调试日志确认加载路径
如果方法1没有找到对应文件,可以开启context配置加载日志:
- 编辑
$CATALINA_BASE/conf/logging.properties,添加如下配置:
org.apache.catalina.startup.ContextConfig.level = FINE
- 重启Tomcat后查看
catalina.out日志,搜索关键词Processing context config,即可找到对应应用加载context.xml的完整绝对路径。
方法3:通过运行时进程打开的文件直接定位
不需要重启Tomcat的场景下,可以直接通过lsof命令查看当前进程打开的context.xml文件:
- 首先获取Tomcat的进程ID:
ps -ef | grep tomcat - 假设获取到的进程ID为
12345,执行命令:
lsof -p 12345 | grep context.xml
- 输出结果中对应你应用名的文件路径就是实际生效的context.xml路径。
补充说明:Tomcat context配置加载优先级(从高到低)
$CATALINA_BASE/conf/Catalina/[主机名]/[应用名].xml- 应用包内
/META-INF/context.xml - Tomcat全局默认配置
$CATALINA_BASE/conf/context.xml
内容的提问来源于stack exchange,提问作者bpeikes
相关产品推荐
相关产品推荐

