创建SpringBoot时遇到的坑合集
在创建SpringBoot工程中遇到的一些问题,以及其解决方案
【JAVA】类文件具有错误的版本 61.0, 应为 52.0
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.10.1:compile (default-compile) on project cube.webflux: Compilation failure
[ERROR] /Users/chiwei/git_project/cube.webflux/src/main/java/com/chiwei/cube/webflux/Application.java:[3,32] 无法访问org.springframework.boot.SpringApplication
[ERROR] 错误的类文件: /Users/chiwei/mymac/maven_repo/org/springframework/boot/spring-boot/3.0.0-SNAPSHOT/spring-boot-3.0.0-SNAPSHOT.jar(org/springframework/boot/SpringApplication.class)
[ERROR] 类文件具有错误的版本 61.0, 应为 52.0
[ERROR] 请删除该文件或确保该文件位于正确的类路径子目录中。
执行mvn clean install 报错信息如上;
编译类错误,org/springframework/boot/SpringApplication.class这个文件编译的JDK版本号应该是52(8),但是实际是61(17);
下面我们一探究竟。
首先,我本地的JDK版本是1.8对应的major version是52,上面报错的类,我们解压出来执行命令查看下其版本是什么,具体如下:
SpringApplication该类的major版本的确是61,所以本地52的版本编译打包就会报错了。
spring官网也有明确的说明,springboot3里依赖的spring是6的版本了。
解决办法:
1、升级本地的JDK版本到17及以上
2、降低依赖,不用spring6了
【Java异常】idea 报错:无效的目标发行版:17 的解决办法
一、项目背景
最近在看Spring源码书籍和视频,从GitHub把Spring源码拉取下来之后,想写个Demo跟踪源码。
Demo已写好,运行发现报错,详情如下:
二、原因分析
java: 无效的目标发行版: 17
原因就是 JDK 版本不对。从 IDEA 编辑器中可以找到问题的原因所在,如下图是编辑器里的配置:
三、解决方案
将 Settings --> Build, Execution, Deployment --> Complier --> Java Complier 配置下的 Project bytecode version: 17 改为 与 项目使用的 JDK 版本一样即可。
另外,还要注意其他两个地方的 JDK 版本的问题,只要与项目使用的 JDK 版本一致,就不会有问题。
完结!