原代码: public static final String CATALINA_HOME = System.getenv("CATALINA_HOME") ;
无法获取到CATALINA_HOME环境变量.
解决方案:
查看 Tomcat bin 目录下的 catalina.sh 文件,会发现,它会判断 bin 目录下是否有 setenv.sh 文件,如果存在,会先执行。
按其中英文的解读说明的意思大概是:我们可以使用这个文件来动态设置运行时环境变量。
所以,我们在 bin 目录下,创建文件 setenv.sh 内容:
#!/bin/sh
#get tomca dir
CATALINA_HOME=$(cd `dirname $0`;cd ..;pwd)
并使用 chmod +x setenv.sh 赋予可执行权限。
脚本中的意思就是动态获取Tomcat 主目录给 CATALINA_HOME 赋值。
问题解决.