Tomcat 11启动时触发UnsupportedClassVersionError错误的原因排查求助
Tomcat 11启动时触发UnsupportedClassVersionError错误的原因排查求助
大家好,我安装了Tomcat 11.0.0-M6,但每次尝试首次启动它的时候都会弹出下面这个错误:
Error: LinkageError occurred while loading main class org.apache.catalina.startup.Bootstrap java.lang.UnsupportedClassVersionError: org/apache/catalina/startup/Bootstrap has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0
我已经通过执行java -version命令检查了Java版本,结果显示是Java 11,对应的类文件版本是55.0,本来应该符合Tomcat的要求才对:
java version "11.0.12" 2021-07-20 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.12+8-LTS-237) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.12+8-LTS-237, mixed mode)
之后我又执行了update-alternatives --display java命令,输出显示当前使用的确实是Java 11,而不是Java 17:
java - manual mode link best version is /opt/jdk/jdk-11.0.12/bin/java link currently points to /opt/jdk/jdk-11.0.12/bin/java link java is /usr/bin/java /opt/jdk/jdk-11.0.12/bin/java - priority 100 /opt/jdk/jdk-17.0.7/bin/java - priority 100 /opt/jdk/jdk1.8.0_301/bin/java - priority 100
下面是我的tomcat.service文件内容:
[Unit] Description="Tomcat Service" After=network.target [Service] Type=forking User=tomcat Group=tomcat RestartSec=10 Restart=always Environment="JAVA_HOME=/opt/jdk/jdk-11.0.12" Environment="JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom" Environment="CATALINA_BASE=/opt/tomcat" Environment="CATALINA_HOME=/opt/tomcat" Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid" Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh [Install] WantedBy=multi-user.target [Service] Environment="CATALINA_OPTS=-Djava.library.path=/usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu:/usr/lib64:/lib64:/lib:/usr/lib"
有没有大佬能帮我分析一下,到底是什么原因导致这个错误的呀?非常感谢大家的帮助!
备注:内容来源于stack exchange,提问作者JBD
相关产品推荐
相关产品推荐

