Tomcat的配置文件分离,新增classpath

https://blog.csdn.net/qinglizoudangqi/article/details/52737684


公司以前作了自定义的配置文件路径,

在将系统纳入K8S之后,也需要作配置文件的自定义路径。

在上面的URL里找到了玄机,

原来在bin下面的setenv.sh文件,是自定义classpath路径和其它配置的推荐作法。


1.配置文件独立部署


由于配置文件需要经常修改,所以现网环境一般会將配置文件与工程文件独立开来,构建war时需要將配置文件排除,部署时需要將配置文件所在目录添加

CLASSPATH路径下。

由于经验习惯直接修改/etc/profile文件添加


Tomcat的配置文件分离,新增classpath


重启tomcat发现日志并没有生成,查看日志如下


Tomcat的配置文件分离,新增classpath


ERROR StatusLogger No log4j2configuration file found. Using default configuration: logging onlyerrors to the console.


配置文件没有找到?检查环境变量:


Tomcat的配置文件分离,新增classpath


CLASSPATH显示是正确的,这是什么原因呢?纠结了半天没找到原因,网上查也很少有资料提及,没办法只能静下心慢慢看了。


于是开始检查tomcat启动脚本,发现了原因:


Tomcat的配置文件分离,新增classpath

原来在catalina.sh脚本中CLASSPATH被重置了,如果需要给项目指定额外的CLASSPATH可以在名为

setenv.sh添加。


于是touch setenv.sh


Tomcat的配置文件分离,新增classpath


chmod 750 setenv.sh


重启tomcat


Tomcat的配置文件分离,新增classpath


可以看到输出的CLASSPATH中已经包含了配置文件的路径/etc/cas.


catalina.out日志正常


Tomcat的配置文件分离,新增classpath


log4j日志正常


Tomcat的配置文件分离,新增classpath



总结:直接修改/etc/profile设置CLASSPATH原本是可以的,但是由于tomcat原因,导致修改并未被使用.本实

验使用的版本是apache-tomcat-8.5.5.



上一篇:「阿里语音AI」十篇论文入选语音顶会INTERSPEECH2020


下一篇:数据库精华知识点总结(1)—数据库的三层模式和二级映像,E-R(实体联系图)图,关系模型