一、问题背景

tomcat版本从 0.31更换到0.52
更换tomcat碰到的坑-java.lang.IllegalStateException 启动子级时出错

二、问题源头

问题源头是环境变量问题。jdk版本不对。

在这里插入图片描述

系统初始化时有个自带的openjdk11 。
最初登录的普通用户 ,平常切换到root用户的操作是sudo su 。
其实他还是环境变量的问题。 sudo susudo su - 
要么在自身的  .bashrc 加上 source /etc/profile 。  这样你 sudo susudo su - 理论上是一样的环境变量。

三、处理方法

方法1 普通用户 >  sudo su  >   source /etc/profile

方法2 普通用户 > sudo su -  

方法3 编辑文件 /root/.bashrc ,末尾添加 source /etc/profile   

最后启动tomcat即可

四、小结

查看环境变量,jdk环境。 相同之处 、不同之处。 对比分析。

还可以通过双方的Catalina.out查看双方的差异之处。(可看出java版本不同)

正常启动的

在这里插入图片描述

启动报错的

在这里插入图片描述

其实他不同用户执行相同的指令,会有不同的结果。
比如这次的
普通用户 --> java -version
root用户 --> java -version 



其他的指令:
普通用户 --> jps -l 、 ss -naltp 、crontab -l 等
root用户 --> jps -l 、 ss -naltp 、crontab -l 等
都是会出现不同的效果。不仅仅只是环境变量方面。
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐