即使安装了java 11,Java Runtime也只能识别52.0之前的类文件版本

mi7gmzs6  于 2023-01-24  发布在  Java
关注(0)|答案(2)|浏览(337)

我无法在我的tomcat9.0.12服务器上运行我的java servelet,因为它无法处理类版本。我得到以下错误:

Error: MyClass been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 (unable to load class

我用java 11编译了我的代码:

<plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <source>11</source>
                    <target>11</target>
                </configuration>
            </plugin>

当我输入:java版本在我的终端我得到:

java version "11.0.2" 2019-01-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)

对于javac -版本

javac 11.0.2

为什么运行时不能处理v55.0?java 11 == v55.0?!

wlsrxk51

wlsrxk511#

问题不在于Tomcat,而在于运行Tomcat的JVM。
我不知道如何启动tomcat,但您应该使用JDK 11启动它。
如果您使用eclipse,您应该检查 * 服务器运行时 *。
对于其他IDE或直接从操作系统启动它(作为应用程序或服务或其他),您应该检查JAVA_HOME和PATH。

k4ymrczo

k4ymrczo2#

检查错误中显示的Java版本

  • 45 = Java 1.1
  • 46 = Java 1.2
  • 47 = Java 1.3
  • 48 = Java 1.4
  • 49 = java 5
  • 50 = Java 6
  • 51 = Java 7
  • 52 = Java 8
  • 53 = java 9
  • 54 = Java 10
  • 55 = Java 11
  • 56 = Java 12
  • 57 = Java 13

在程序文件/java文件夹中安装/下载jdk
在Eclipse或STS中,右键单击项目-〉builPath -〉库-〉添加JRE系统库-〉添加错误中显示的jdk版本作为替代JRE

相关问题