Maven编译参数source/target与Java语言版本对应关系咨询
Maven Compiler参数与Java版本对应关系
maven.compiler.source和maven.compiler.target参数确实对应Java语言版本,早期Java版本采用1.x的命名格式,从Java 9开始简化为纯数字版本号,对应规则如下:
早期Java版本(Java 1至Java 8)
- Java 1 →
1.1 - Java 2 →
1.2 - Java 3 →
1.3 - Java 4 →
1.4 - Java 5 →
1.5(也可简写为5,新版本Maven插件支持) - Java 6 →
1.6 - Java 7 →
1.7(即你pom.xml中配置的版本,对应JDK 7) - Java 8 →
1.8(也可简写为8)
Java 9及以后版本
从Java 9开始,版本号直接对应参数值,无需前缀1.:
- Java 9 →
9 - Java 10 →
10 - Java 11 →
11 - Java 12 →
12 - Java 13 →
13 - Java 14 →
14 - Java 15 →
15 - Java 16 →
16 - Java 17 →
17(长期支持版) - Java 18 →
18 - Java 19 →
19 - Java 20 →
20
补充说明
从Maven Compiler Plugin 3.6.0版本开始,推荐直接使用纯数字版本号(比如用8代替1.8),兼容性更好且更直观。这两个参数分别控制编译时启用的Java语言特性版本,以及生成字节码兼容的最低JVM版本,只要本地安装的JDK版本不低于指定的source/target版本,即可正常编译。
内容的提问来源于stack exchange,提问作者user2138149
相关产品推荐
相关产品推荐

