Fork me on GitHub

IDEA默认用1.5编译

背景

image

Setting -》 Project -》 SDK设置为1.8 语言级别为1.8
image
但是模块所有的语言级别都变成了5
image

解决方案

加了这个就好了

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
</plugin>

原因分析

Maven 的行为分两种:
❌ 情况一:什么都不写
• Maven 用 超级老的默认值
• IDEA 也只能跟着用

✅ 情况二:你声明了 plugin
• Maven 会:
1. 启用 当前 Maven 推荐的 compiler-plugin
2. 优先使用项目 JDK / toolchain
3. IDEA 同步后,语言级别被“纠正”

推荐写法(Java 8)

  1. 所有模块的父 POM
  2. 统一加 maven-compiler-plugin
  3. 明确 Java 版本
  4. IDEA → Reimport Maven
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.11.0</version>
  <configuration>
    <release>8</release>
  </configuration>
</plugin>

以后再也不会看到:
• 不支持 lambda
• 不支持 方法引用
• class 文件版本不一致

posted @ 2026-02-09 21:26  秋夜雨巷  阅读(8)  评论(0)    收藏  举报