spring NetBeans -已由较新版本的Java Runtime(类文件版本61.0)编译

fjaof16o  于 2023-02-28  发布在  Spring
关注(0)|答案(1)|浏览(357)

当在NetBeans 12中为Sping Boot 3.0.3和Java 17编译和运行java时,我遇到了这个错误。

java.lang.不支持的类版本错误:com/example/javareacttemplate/MainClass已由较新版本的Java运行时(类文件版本61.0)编译,此版本的Java运行时只能识别最高版本为52.0的类文件

我尝试创建一个简单的maven项目,在该项目旁边打印Java运行时版本,它成功运行并输出:

System.out.println("Java v:" + System.getProperty("java.version"));
 //Java v:17.0.6

这是运行2个项目开始时的2个终端命令
Spring Boot 一号

cd D:\somepath\somepath\projectOne; 
"JAVA_HOME=D:\\Program Files\\Java\\jdk-17" 
M2_HOME=D:\\Maven\\apache-maven-3.9.0 cmd /c "\"D:\\Maven\\apache-maven-3.9.0\\bin\\mvn.cmd\" 
-Dexec.args=\"-classpath %classpath com.example.javareacttemplate.MainClass\" 
-Dexec.executable=java 
-Dexec.classpathScope=runtime 
-Dmaven.ext.class.path=\"C:\\Program Files\\NetBeans-12.0\\netbeans\\java\\maven-nblib\\netbeans-eventspy.jar\" 
-Dfile.encoding=UTF-8 org.codehaus.mojo:exec-maven-plugin:1.5.0:exec"

简单的Maven项目

cd D:\somepath\somepath\somepath\mavenproject1; 
"JAVA_HOME=D:\\Program Files\\Java\\jdk-17" 
M2_HOME=D:\\Maven\\apache-maven-3.9.0 cmd /c "\"D:\\Maven\\apache-maven-3.9.0\\bin\\mvn.cmd\" 
-Dexec.args=\"-classpath %classpath com.mycompany.mavenproject1.MainClass\" 
-Dexec.executable=\"D:\\Program Files\\Java\\jdk-17\\bin\\java.exe\" 
-Dexec.classpathScope=runtime 
-Dmaven.ext.class.path=\"C:\\Program Files\\NetBeans-12.0\\netbeans\\java\\maven-nblib\\netbeans-eventspy.jar\" 
-Dfile.encoding=UTF-8 org.codehaus.mojo:exec-maven-plugin:1.5.0:exec"

我不知道如何更改Sping Boot Java运行时,有没有办法将其更改为17,但仍然使用NetBeans IDE?
更新:在帮助-〉关于选项卡x1c 0d1x

qoefvg9y

qoefvg9y1#

我已经通过在Spring Initializr的开头选择JAR打包而不是WAR解决了这个问题。

相关问题