使用sh startup.sh启动tomcat报错

Posted Ternura

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用sh startup.sh启动tomcat报错相关的知识,希望对你有一定的参考价值。

 今天尝试自动更新服务器上tomcat中的web安装包

启动python脚本的时候,发现报错:

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

大致我理解就是:需要配置jdk和jre的环境变量才能运行该程序

 

 

 

 

 

于是检查服务器上环境变量,好像没啥问题呀:

 

 

 

然后查看startup.sh文件:发现startup.sh会调用到catalina.sh文件

 

 

 

接着去查看catalina.sh文件:发现catalina.sh会调用setclasspath.sh文件:

 

 

因此需要在setclasspath.sh中手动声明一下环境变量

偷懒点去vi /etc/profile中找到自己的环境变量粘贴过来哈哈

export JAVA_HOME=/usr/java/jdk1.8.0_161

export JRE_HOME=/usr/java/jdk1.8.0_161/jre

 

( windows版本,对应bat文件,export改为set )

想要了解tomcat运行脚本和启动过程的,参见大佬:https://blog.csdn.net/qq_21508059/article/details/82713797

 

 

以上是关于使用sh startup.sh启动tomcat报错的主要内容,如果未能解决你的问题,请参考以下文章

Linux使用./startup.sh启动tomacat报错

RHEL8 selinux不允许服务从systemctl启动,而tomcat/bin/startup.sh拒绝权限[关闭]

centos7中启动tomcat提示bash: tomcat8.0.39/bin/startup.sh: 权限不够

开机自启动tomcat(测试)

ansible启动/停止tomcat补充

记录一次生产环境OOM