为了账号安全,请及时绑定邮箱和手机立即绑定

Tomcat 启动找不到配置好的 $JAVA_HOME和$JRE_HOME 变量?

Tomcat 启动找不到配置好的 $JAVA_HOME和$JRE_HOME 变量?

MYYA 2019-03-01 03:31:20
$ sudo ./bin/catalina.sh run Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program /etc/profile 中配置好了所有的环境变量, 为什么还会报错误? # java environment export JAVA_HOME="/usr/local/java/jdk1.8.0_144" export JRE_HOME="$JAVA_HOME/jre" export CLASSPATH=".:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib" export PATH="$JAVA_HOME/bin:$JRE_HOME/bin:$PATH" 搜索解决办法时只说去Tomcat的运行文件catalina.sh中添加JAVA_HOME和JRE_HOME两个变量即可运行, 这样切换版本的时候会比较繁琐. 上述错误只在使用root权限启动时发生的? 是否和用户有关? $ sudo ./catalina.sh run ./catalina.sh: line 108: uname: command not found ./catalina.sh: line 129: dirname: command not found Cannot find //bin/setclasspath.sh This file is needed to run this program 正常启动后又报这个错误?键入查看uname和dirname命令都有. ... Tomcat 是怎么了?
查看完整描述

3 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

配置完有没有执行source命令

查看完整回答
反对 回复 2019-03-01
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

把引号去掉
使用 echo $PATH 或者 env 查看变量是否配置成功,
没有的话,执行下source profile,或者命令行执行export

查看完整回答
反对 回复 2019-03-01
?
绝地无双

TA贡献1946条经验 获得超4个赞

你被国内资料误导了,写到/etc/profile本来就不会被加载,想看详细解释就去google吧,这里不浪费篇幅了。

只说解决方案,按照tomcat官方文档的正确做法,在tomcat的bin/目录下创建一个setenv.sh文件,把你的那几个环境变量写入这个文件即可,可以不加export。

另外纠正一个错误,CLASSPATH这个环境变量早在JDK 1.5以后版本就不再需要了,而且官方文档也是不建议用户自己去设置这个环境变量,JVM能自己找到那几个jar,不需要用户操心。

还有一点,JAVA_HOMEJRE_HOME不用都赋值,tomcat会优先使用JRE_HOME,导致JAVA_HOME不生效。具体解释可以打开看catalina.sh文件中开头的解释部分。PATH那一行也可以不要,没必要。

查看完整回答
反对 回复 2019-03-01
  • 3 回答
  • 0 关注
  • 2181 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信