这是因为在编译时,没有说明 jdk 的版本号,有两个方法处理。
一:仅对本 module 有效。在 pom.xml 文件中添加 jdk 版本说明,我的 jdk 版本是 openjdk17.0.3,所以添加时根据自己的 jdk 版本进行修改,这里只取大版本号 17。
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!--指定编译器版本号17-->
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
二:在 Maven 的配置文件 settings.xml 中指定 jdk 版本,这样所有使用 Maven 的 module 都按照配置执行。我用的 IDEA 自带 Maven,配置文件路径如下 “C:\ProgramFiles\ideaIU-2022.2.win\plugins\maven\lib\maven3\conf\settings.xml”。在 “<profiles></profiles>” 标签内添加配置信息。
profiles>
<profile>
<id>jdk-17</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>17</jdk>
</activation>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
</profile>
</profiles>