Linux启动Tomcat返回JRE_HOME字段错误


最近有朋友在启动服务器的Tomcat时,返回启动信息中JRE_HOME字段出现错误,同时Tomcat服务器运行Java类异常;

Tomcat的启动信息类似如下:

Using CATALINA_BASE:   /apache-tomcat-8.5.16
Using CATALINA_HOME:   /apache-tomcat-8.5.16
Using CATALINA_TMPDIR: /apache-tomcat-8.5.16/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /apache-tomcat-8.5.16/bin/bootstrap.jar:/apache-tomcat-8.5.16/bin/tomcat-juli.jar
Tomcat started.

其中JRE_HOME与配置的JRE路径不同(这里假设实际路径为/usr/lib/java-1.8.0-opendjk/jre),在探究了一番后,总结出来的这类问题的解决思路如下:


1、检查全局配置中JRE_HOME的配置是否正确

可以在命令行中输入:

echo $JRE_HOME
根据返回的信息来判断,如果$JRE_HOME字段错误,可以添加这个全局字段,编辑 /etc/profile

vim /etc/profile
添加或修改 JRE_HOME 字段;

再重新更新配置文件,就可以了

source /etc/profile



2、如果全局JRE_HOME字段正常或者通过以上方法,Tomcat启动返回的JRE_HOME 任然错误,那么有可能是Tomcat启动时使用了局部的JRE_HOME字段,此时可以通过强制规定Tomcat启动配置来解决;

编辑 Tomcat根目录/bin/setclasspath.sh ,在文件的开头添加以下

export JAVA_HOME=/usr/lib/jvm/java-openjdk
export JRE_HOME=/usr/lib/jvm/java-openjdk/jre

其中JAVA_HOME,JRE_HOME的值添加为实际的路径;

之后再重新启动Tomcat,返回信息正确:

Using CATALINA_BASE:   /apache-tomcat-8.5.16
Using CATALINA_HOME:   /apache-tomcat-8.5.16
Using CATALINA_TMPDIR: /apache-tomcat-8.5.16/temp
Using JRE_HOME:        /usr/lib/java-1.8.0-opendjk/jre
Using CLASSPATH:       /apache-tomcat-8.5.16/bin/bootstrap.jar:/apache-tomcat-8.5.16/bin/tomcat-juli.jar
Tomcat started.


我的朋友是由于后期更改了tomcat的用户组,使tomcat直接读取父类JRE_HOME字段,直接读取系统中预安装的该用户组的Java配置文件,而不是全局的JRE_HOME字段,才导致这样的异常,通过方法2解决;




  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值