by Guest » 30 Dec 2024, 16:14
Ich habe kürzlich die Java-Version von 11 auf 17 aktualisiert. Aber immer wenn ich die .war-Datei ausführe, erhalte ich die folgende Fehlermeldung:
java.lang. UnsupportedClassVersionError: somePackage/SomeClass wurde von einer neueren Version der Java Runtime (Klassendateiversion 61.0) kompiliert. Diese Version der Java Runtime erkennt nur Klassendateiversionen bis 55.0 (nicht möglich). Ladeklasse [somePackage.SomeClass])
Um zu überprüfen, ob Tomcat die richtige Version verwendet, habe ich Folgendes getan:
Code: Select all
[root@ip-172-31-21-71 apache-tomcat-9.0.58]# java -cp lib/catalina.jar org.apache.catalina.util.ServerInfo
Server version: Apache Tomcat/9.0.58
Server built: Jan 15 2022 14:37:38 UTC
Server number: 9.0.58.0
OS Name: Linux
OS Version: 4.14.214-160.339.amzn2.x86_64
Architecture: amd64
JVM Version: 17.0.5+8-LTS
JVM Vendor: Amazon.com Inc.
[root@ip-172-31-21-71 apache-tomcat-9.0.58]# ps -ef | grep tomcat
root 12088 11400 0 08:49 pts/0 00:00:00 grep --color=auto tomcat
root 15642 1 1 Nov16 ? 00:12:09 /opt/jdk-17.0.5/bin/java -Djava.util.logging.config.file=/opt/apache-tomcat-9.0.58/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dfile.encoding=UTF-8 -Xms128m -Xmx700m -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /opt/apache-tomcat-9.0.58/bin/bootstrap.jar:/opt/apache-tomcat-9.0.58/bin/tomcat-juli.jar -Dcatalina.base=/opt/apache-tomcat-9.0.58 -Dcatalina.home=/opt/apache-tomcat-9.0.58 -Djava.io.tmpdir=/opt/apache-tomcat-9.0.58/temp org.apache.catalina.startup.Bootstrap start
[root@ip-172-31-21-71 apache-tomcat-9.0.58]# /opt/jdk-17.0.5/bin/java --version
java 17.0.5 2022-10-18 LTS
Java(TM) SE Runtime Environment (build 17.0.5+9-LTS-191)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.5+9-LTS-191, mixed mode, sharing)
Sogar ${JAVA_HOME} zeigt auf das richtige Verzeichnis. Vor Ort funktioniert alles gut. Ich weiß nicht, was mir fehlt. Für Vorschläge wäre ich dankbar. Vielen Dank im Voraus.
Ich habe kürzlich die Java-Version von 11 auf 17 aktualisiert. Aber immer wenn ich die .war-Datei ausführe, erhalte ich die folgende Fehlermeldung:
java.lang. UnsupportedClassVersionError: somePackage/SomeClass wurde von einer neueren Version der Java Runtime (Klassendateiversion 61.0) kompiliert. Diese Version der Java Runtime erkennt nur Klassendateiversionen bis 55.0 (nicht möglich). Ladeklasse [somePackage.SomeClass])
Um zu überprüfen, ob Tomcat die richtige Version verwendet, habe ich Folgendes getan:
[code][root@ip-172-31-21-71 apache-tomcat-9.0.58]# java -cp lib/catalina.jar org.apache.catalina.util.ServerInfo
Server version: Apache Tomcat/9.0.58
Server built: Jan 15 2022 14:37:38 UTC
Server number: 9.0.58.0
OS Name: Linux
OS Version: 4.14.214-160.339.amzn2.x86_64
Architecture: amd64
JVM Version: 17.0.5+8-LTS
JVM Vendor: Amazon.com Inc.
[root@ip-172-31-21-71 apache-tomcat-9.0.58]# ps -ef | grep tomcat
root 12088 11400 0 08:49 pts/0 00:00:00 grep --color=auto tomcat
root 15642 1 1 Nov16 ? 00:12:09 /opt/jdk-17.0.5/bin/java -Djava.util.logging.config.file=/opt/apache-tomcat-9.0.58/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dfile.encoding=UTF-8 -Xms128m -Xmx700m -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /opt/apache-tomcat-9.0.58/bin/bootstrap.jar:/opt/apache-tomcat-9.0.58/bin/tomcat-juli.jar -Dcatalina.base=/opt/apache-tomcat-9.0.58 -Dcatalina.home=/opt/apache-tomcat-9.0.58 -Djava.io.tmpdir=/opt/apache-tomcat-9.0.58/temp org.apache.catalina.startup.Bootstrap start
[root@ip-172-31-21-71 apache-tomcat-9.0.58]# /opt/jdk-17.0.5/bin/java --version
java 17.0.5 2022-10-18 LTS
Java(TM) SE Runtime Environment (build 17.0.5+9-LTS-191)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.5+9-LTS-191, mixed mode, sharing)
[/code]
Sogar ${JAVA_HOME} zeigt auf das richtige Verzeichnis. Vor Ort funktioniert alles gut. Ich weiß nicht, was mir fehlt. Für Vorschläge wäre ich dankbar. Vielen Dank im Voraus.