idea添加全局JDK,配置项目、模块、maven的JDK,配置项目、模块源码java语言级别,配置项目模块目标(编译的class字节码)的java语言级别
·
0.结论
- 版本尽量保持一致
- JDK版本 ≥ 语言级别(编译成class的版本、IDEA语法检查、相当于
javac --source {version}) ≥ 代码实际语言版本
1.配置SDK/JDK版本
1.1.全局
-
项目结构(Ctrl+Alt+Shift+S)

-
平台设置 —— SDK

1.2.项目

1.3.模块
- 模块的JDK一般与项目JDK版本一致,选“项目SDK”,项目SDK版本修改时会同步

1.4.maven
- maven的JDK一般与项目JDK版本一致,选“使用项目SDK”,项目SDK版本修改时会同步
1.4.1.正在导入

1.4.1.运行程序

2.java语言版本级别
2.1.项目
- 项目语言版本一般与项目JDK版本一致

2.2.模块
-
模块语言版本一般与项目语言版本一致。
-
如果是maven项目,此处配置无效,maven配置会覆盖此处配置(注意刷新maven)

-
maven配置的source版本


2.2. 代码语言、语言级别与JDK版本不一致的问题
- JDK版本 ≥ 语言级别(编译成class的版本、IDEA语法检查、相当于
javac --source {version}) ≥ 代码实际语言版本
2.2.1.问题1
- JDK版本17
- 语言级别(编译成class的版本、IDEA语法检查、相当于
javac --source {version})8 - 代码实际语言版本17(java15文本块)

"C:\Program Files\Java\jdk-17\bin\javac" -encoding UTF-8 -source 8 src/top/lishuoboy/Main.java # source、target 默认与jdk版本一致

2.2.1.问题2
- JDK版本8
- 语言级别(编译成class的版本、IDEA语法检查、相当于
javac --source {version})8 - 代码实际语言版本17(java15文本块)

"C:\Program Files\Java\jdk-17\bin\javac" -encoding UTF-8 -source 8 src/top/lishuoboy/Main.java # source、target 默认与jdk版本一致

2.2.1.问题3
- JDK版本8
- 语言级别(编译成class的版本、IDEA语法检查、相当于
javac --source {version})17 - 代码实际语言版本17(java15文本块)

D:\workspace\aaa>"C:\Program Files\Java\jdk1.8.0_201\bin\javac" -encoding UTF-8 -target 17 src/top/lishuoboy/Main.java

9.相关文章
更多推荐
所有评论(0)