首页 > 解决方案 > tomcat生成空ROOT文件夹但不解压war文件

问题描述

我浏览了一些与我的问题相关的帖子,但不幸的是我没有设法得到正确的答案。ea-tomcat85/webapps/ROOT.war我已经在我的服务器上上传并重命名了一个战争文件。但是每当我重新启动 tomcat 服务器时,它只会生成一个空的 ROOT 文件夹,其中没有任何文件。我尝试按照其他链接中的建议设置<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">tomcat conf目录文件 ,但没有成功。server.xml此外,我尝试按照建议删除并重命名生成的空 ROOT 文件夹,但没有成功。我不知道我做错了什么或错过了什么。这是我第一次将战争文件部署到实时服务器中。提前致谢。

更新

我已经设置$CATALINA_BASE/bin/setenv.sh:

JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64/jre
CATALINA_PID="$CATALINA_BASE/tomcat.pid"

正如这个官方链接所示。

但是,当我在内部以 root 身份启动服务器时,$CATALINA_HOME/bin/我得到以下输出,但JRE_HOME:缺少环境变量。

[root@xxxx bin]# ./startup.sh
Using CATALINA_BASE:   /opt/cpanel/ea-tomcat85
Using CATALINA_HOME:   /opt/cpanel/ea-tomcat85
Using CATALINA_TMPDIR: /opt/cpanel/ea-tomcat85/temp
Using JRE_HOME:        /
Using CLASSPATH:       /opt/cpanel/ea-tomcat85/bin/bootstrap.jar:/opt/cpanel/ea-tomcat85/bin/tomcat-juli.jar
Tomcat started.

标签: javatomcatweb-deployment

解决方案


startup.sh唯一无法设置的环境变量setenv.shCATALINA_BASE(如果未设置,则默认为CATALINA_HOME,默认为startup.sh脚本的父文件夹)。

因此,您需要将 Tomcat 启动为:

CATALINA_BASE="/path/to/catalina/base" /opt/cpanel/ea-tomcat85/bin/startup.sh

中的ROOT文件夹$CATALINA_BASE/webapps是空的,因为 Tomcat 使用了不同的CATALINA_BASE.


推荐阅读