【bug-maven】(一)java: 错误: 不支持发行版本 5 (二):java: 错误: 无效的源发行版:15
(一)java: 错误: 不支持发行版本 5
报错截图:
出错原因:
打开Project Structure ,查询Modules的项目jdk版本,发现项目中所有的模块的都变成了5了。
解决方法:
修改Maven地址\conf\setting.xml中设置默认jdk版本
我是用的jdk版本是17,已jdk17为例,修改如下:
<profile>
<id>development</id>
<activation>
<jdk>17</jdk>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<maven.compiler.compilerVersion>17</maven.compiler.compilerVersion>
</properties>
</profile>
附录jdk1.8默认设置:
<profile>
<id>development</id>
<activation>
<jdk>1.8</jdk>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
参考文章:java错误:不支持发行版本5
(二)java: 错误: 无效的源发行版:15
报错分析:
SpringBoot使用了3.0或者3.0以上,因为Spring官方发布从Spring6以及SprinBoot3.0开始最低支持JDK17,所以仅需将SpringBoot版本降低为3.0.0以下即可。
本人用的jdk1.8版本,下图是必要的编译环境一致性的设置
解决办法,示例:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.6</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>