https://blog.csdn.net/qinglizoudangqi/article/details/52737684
公司以前作了自定义的配置文件路径,
在将系统纳入K8S之后,也需要作配置文件的自定义路径。
在上面的URL里找到了玄机,
原来在bin下面的setenv.sh文件,是自定义classpath路径和其它配置的推荐作法。
1.配置文件独立部署
由于配置文件需要经常修改,所以现网环境一般会將配置文件与工程文件独立开来,构建war时需要將配置文件排除,部署时需要將配置文件所在目录添加
到CLASSPATH路径下。
由于经验习惯直接修改/etc/profile文件添加
重启tomcat发现日志并没有生成,查看日志如下
ERROR StatusLogger No log4j2configuration file found. Using default configuration: logging onlyerrors to the console.
配置文件没有找到?检查环境变量:
CLASSPATH显示是正确的,这是什么原因呢?纠结了半天没找到原因,网上查也很少有资料提及,没办法只能静下心慢慢看了。
于是开始检查tomcat启动脚本,发现了原因:
原来在catalina.sh脚本中CLASSPATH被重置了,如果需要给项目指定额外的CLASSPATH可以在名为
setenv.sh添加。
于是touch setenv.sh
chmod 750 setenv.sh
重启tomcat
可以看到输出的CLASSPATH中已经包含了配置文件的路径/etc/cas.
catalina.out日志正常
log4j日志正常
总结:直接修改/etc/profile设置CLASSPATH原本是可以的,但是由于tomcat原因,导致修改并未被使用.本实
验使用的版本是apache-tomcat-8.5.5.