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

时间:2019-05-08 09:00:01

标签: java tomcat java-11

我无法在tomcat 9.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 -version时,我得到:

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 -version

javac 11.0.2

为什么运行时无法处理v55.0? Java 11 == v55.0?!

1 个答案:

答案 0 :(得分:2)

问题不是tomcat,而是运行tomcat的JVM。

我不知道您如何启动tomcat,但是您应该使用JDK 11来启动它。

如果使用eclipse,则应检查服务器运行时

对于其他IDE或直接从OS(作为应用程序或服务或任何东西)启动它,则应检查JAVA_HOME和PATH。