使用Linux shell脚本远程启动tomcat报错Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At

当尝试通过ssh命令在Linux上启动远程服务器的Tomcat时,遇到因JAVA_HOME和JRE_HOME环境变量未定义导致的错误。解决方法包括:1) 编辑远程服务器上Tomcat的setclasspath.sh文件,添加JAVA_HOME和JRE_HOME环境变量的路径;2) 保存修改后重新尝试启动。此外,也可以选择在远程服务器创建重启Tomcat的脚本,通过本地调用来避免设置环境变量。

异常

在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_HOMEJRE_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

在这里插入图片描述
在这里插入图片描述

  • 第三步,修改之后保存退出,再进行远程启动就能成功了。
    在这里插入图片描述

注:还可以在远程服务器创建一个重启tomcat的脚本,然后在本地调用远程服务器的脚本重启tomcat,就不需要设置环境变量了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值