当在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
1条答案
按热度按时间qoefvg9y1#
我已经通过在Spring Initializr的开头选择JAR打包而不是WAR解决了这个问题。