使用Linux shell脚本远程启动tomcat报错Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At
Posted 二木成林
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Linux shell脚本远程启动tomcat报错Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At相关的知识,希望对你有一定的参考价值。
异常
在Linux的shell脚本中通过ssh
命令启动远程服务器的tomcat失败,并且提示:
[root@xxx ~]# ssh root@1.1.1.123 /home/apache-tomcat-8.5.13/bin/startup.sh
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
原因
需要用到环境变量。
解决
- 第一步,打开待启动tomcat的远程服务器(如这里是
1.1.1.123
)中tomcat安装目录下的bin目录下的setclasspath.sh
文件。
#如果不清楚setclasspath.sh文件位置,可以使用find命令或者locate命令搜索
find / -name setclasspath.sh
#然后使用vi或vim命令打开setclasspath.sh文件进行修改
vi setclasspath.sh
- 第二步,在
setclasspath.sh
文件的开头部分添加JAVA_HOME
和JRE_HOME
的环境变量路径。如下:
#注意,可能我们并不知道JAVA_HOME和JRE_HOME环境变量的值,可以通过如下命令查看
echo JAVA_HOME
echo JRE_HOME
#然后把结果添加倒setclasspath.sh文件的开头部分,注意这里的/jdk和/jdk/jre是我主机上通过echo JAVA_HOME等命令查询出来的结果,具体值还得看自己服务器上的安装路径
export JAVA_HOME=/jdk
export JRE_HOME=/jdk/jre
- 第三步,修改之后保存退出,再进行远程启动就能成功了。
以上是关于使用Linux shell脚本远程启动tomcat报错Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At的主要内容,如果未能解决你的问题,请参考以下文章