版权声明:作者:星云 交流即分享,分享才能进步!喜欢我的文章,可在博客左侧扫码赞赏~ https://blog.csdn.net/hadues/article/details/86549703
故障描述:
这篇记录一次神奇的Tomcat 闪退故障.
最近在开发时候,发现了一个神奇的事情,每次启动Tomcat 就闪退,又完全抓不到任何错误日志。
首先百分百可以确定的是JDK配置肯定没有任何问题的,Tomcat 原来配置如下:
Tomcat 环境变量配置如下:
Path 路径配置如下:
睁大眼睛看清楚,是不是觉得上面的配置似乎没有任何问题?
但是当你在安装目录的bin 文件夹下双击启动startup.bat
或者在命令行下输入命令:
startup
你会发现Tomcat 神奇的闪退了,查看log 日志文件夹,看不到任何错误日志。
天知道我排查了好久,才发现这个隐藏这么深的Bug.
故障分析
问题出在哪里呢?问题就出在环境变量的配置上。
我们再来看下刚才的配置:
CATALINA_HOME
C:\Apps\tomcat\apache-tomcat-9.0.14-windows-x64\apache-tomcat-9.0.14\
path 中是这么调用的
%CATALINA_HOME%\bin
当你执行startup 命令的时候,实际访问的路径就是
C:\Apps\tomcat\apache-tomcat-9.0.14-windows-x64\apache-tomcat-9.0.14\\bin
睁大眼睛看清楚了,问题就出在这里
apache-tomcat-9.0.14\\bin
多了一个’’ 符号
也就是说你在win10 系统地址栏中输入这个地址:
C:\Apps\tomcat\apache-tomcat-9.0.14-windows-x64\apache-tomcat-9.0.14\\bin
就会发现找不到这个路径
反之,这样去掉多余的’'就可以
C:\Apps\tomcat\apache-tomcat-9.0.14-windows-x64\apache-tomcat-9.0.14\bin
解决方案:
Path路径配置中要有符号
总之,在win10 操作系统中路径 C:\A\b 和C:\A\b 是不一样的,这个问题虽然简单但是很容易忽略。