centos7.5升级tomcat10后启动失败

centos7.5部署完tomcat10.1.7后启动不成功,查看日志报错如下:
[root@wc-xfn-1-206 logs]# tail -n 333 catalina.out
Unrecognized option: --add-opens=java.base/java.lang=ALL-UNNAMED
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

这台服务器我本来部署的jdk1.8
[root@wc-xfn-1-206 logs]# java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

在/usr/local目录下部署了tomcat8版本 ,现在要升级成tomcat10版本。于是我再另外一个分区目录/app目录下解压部署了tomcat10版本。结果在./startup.sh后发现没有成功,查看日志如上面显示。 部署失败,我只能暂时重启tomcat8,正常运行老版本的。

这是什么问题? 我查过tomcat10和jdk1.8兼容的呀。

Tomcat 10.1.7 不支持 JDK 1.8(JDK 8)。Tomcat 10.1.x 系列要求使用 JDK 11 或更高版本。

img

你把截图发给我看一下

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    根据参考资料和问题描述,可以得出以下解决方案:

    1. 确认JDK版本 首先需要确认JDK的版本是否符合Tomcat 10.1.7的要求。根据Tomcat官网的文档,Tomcat 10.1.x需要使用Java SE 11或更高版本。而问题描述中提到已经在/usr/local目录下部署了JDK版本为1.8.0_45,这个版本不符合要求。因此需要升级JDK到符合要求的版本。可以下载安装Java SE 11或更高版本,然后将环境变量指向新安装的JDK,例如:
    export JAVA_HOME=/path/to/new/jdk
    export PATH=$JAVA_HOME/bin:$PATH
    
    1. 修改Tomcat启动参数 在升级JDK之后,仍然无法启动Tomcat,则需要修改Tomcat的启动参数。打开Tomcat的启动脚本(bin/catalina.sh或bin/catalina.bat),找到JAVA_OPTS的设置项,并设置合适的参数。例如,可以设置最小内存为1G,最大内存为2G:
    JAVA_OPTS="-Xms1G -Xmx2G"
    
    1. 检查Tomcat和JDK的环境变量 确认Tomcat和JDK的环境变量设置正确。可以使用以下命令查看当前环境变量:
    echo $JAVA_HOME
    echo $CATALINA_HOME
    

    如果输出为空,可以在.bashrc或者/etc/profile文件中设置环境变量。例如:

    export JAVA_HOME=/path/to/java
    export CATALINA_HOME=/path/to/tomcat
    

    并运行以下命令使环境变量生效:

    source /etc/profile
    
    1. 检查端口占用情况 如果以上步骤都没有解决问题,则可以检查当前系统中是否有其他进程正在占用Tomcat要使用的端口。可以使用以下命令查看哪些进程正在占用特定端口:
    lsof -i :8080
    

    如果找到了相关进程,可以停止它们或者将Tomcat的端口修改为其他空闲的端口。可以在$CATALINA_HOME/conf/server.xml文件中修改Tomcat的端口,例如将端口修改为8888:

    <Connector port="8888" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    
    1. 查看Tomcat日志 如果依然无法启动Tomcat,可以查看Tomcat的日志文件,寻找错误原因。Tomcat的日志文件位于$CATALINA_HOME/logs/目录下,可以查看catalina.out或者catalina.log文件。

    如果以上步骤都不能解决问题,则可以尝试在Tomcat官网的论坛寻求帮助,或者考虑采用其他版本的Tomcat。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^