必须配置JDK才能运行Java项目,否则会出现“Project SDK未定义”或“Cannot resolve symbol”等错误;需先验证系统java/javac命令可用,再在IDEA欢迎页全局注册JDK路径,接着为项目或模块指定SDK,并确保语言级别不超JDK版本。

要在IntelliJ IDEA中正确运行Java项目,必须让IDE识别并绑定一个可用的JDK——否则新建项目时“Project SDK”下拉框为空,创建后编译报错“Cannot resolve symbol ‘String’”,甚至无法启动Run Configuration。这不是路径填错那么简单,而是IDE底层构建模型依赖JDK提供的编译器(javac)、标准库(rt.jar或modules)和目标字节码版本控制能力。
确认系统已安装JDK并验证命令行可用
打开终端(Windows用cmd或PowerShell,macOS/Linux用Terminal),执行:
java -version
javac -version
两行命令都必须返回有效版本号(如openjdk version "17.0.8"),且版本号一致。若只返回“'java' 不是内部或外部命令”,说明JDK未安装,或已安装但【JAVA_HOME未设置,或PATH未包含%JAVA_HOME%\bin】——此时IDEA根本无法从系统层面感知JDK存在,后续所有IDE内配置都将失效。
若仅java有输出而javac报错,说明你装的是JRE而非JDK,需重新下载完整JDK包(含编译器)。
在IDEA欢迎页完成首次JDK全局绑定
启动IDEA(未打开任何项目时),点击右下角“Configure”→“Project Defaults”→“Project Structure”→左侧选“SDKs”→右侧点“+”→“JDK”。
弹出文件选择框后,定位到JDK安装根目录(不是bin子目录!例如Windows下是E:\JavaJDK\jdk-17.0.8,macOS下是/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home),选中后点“OK”。
IDEA会自动解析该路径下的jre、lib、bin等结构,并在右侧显示JDK版本、厂商(如“JetBrains Runtime 17.0.8”或“Adoptium Temurin 17.0.8”)。这一步绑定的是全局默认SDK,影响所有新建项目。
使用3×3×10框架生成90+个个性化Instagram内容创意,用AI编辑器精选最佳创意,并将获胜者扩展为可操作的简洁内容。
为已有项目单独指定JDK版本
方法一:项目级覆盖(推荐用于多版本共存场景)
打开项目后,按 Ctrl+Alt+Shift+S(Windows/Linux)或 ⌘; (macOS)打开Project Structure → 左侧选“Project” → 在“Project SDK”下拉框中选择已配置好的JDK;若为空,点右侧“New…”→“JDK”→同上一步选择路径。
方法二:模块级微调(适用于混合语言或分模块编译目标不同)
Project Structure → 左侧选“Modules” → 选中具体module → “Sources”标签页 → 底部“Language level”下拉菜单可独立设为“SDK default”或手动指定(如“17-LTS”)。注意:此处仅控制语法糖和API可用性,不改变实际编译器来源。
【Language level必须≤所选JDK的实际版本,否则编译时会静默降级或报错】。例如选了JDK 21,却把Language level设为“22”,IDEA会提示不支持;设为“17”则允许使用JDK 21运行但禁用record、pattern matching等21+特性。
验证JDK配置是否生效
第一步:新建Java类,输入public class Hello { public static void main(String[] args) { System.out.println("OK"); } },观察类名和System是否无红色波浪线——若有,说明JDK未加载成功或classpath缺失。
第二步:右键main方法 → “Run ‘Hello.main()’”,控制台输出“OK”且无UnsupportedClassVersionError错误。
第三步:打开File → Project Structure → Project,确认“Project SDK”和“Project language level”均非空,且版本数字与你安装的JDK主版本一致(如JDK 17.0.8对应“17”)。

















