新建Java项目关键在于选对Project SDK和项目类型:需正确配置JDK路径、选择Java模板而非Empty Project、匹配模块Language level与SDK版本,并确认Run Configuration指向正确模块。

IntelliJ IDEA 新建 Java 项目,关键不是“点哪里”,而是选对 Project SDK 和项目类型——选错会导致后续连 main 方法都跑不起来,甚至 java.lang.NoClassDefFoundError 都报得莫名其妙。
选对 Project SDK 才算真正开始
新建项目时,IDEA 会默认尝试用已配置的 JDK。但常见问题包括:
- 没装 JDK,只装了 JRE →
Project SDK下拉为空,必须先去官网下 JDK(如jdk-17.0.2),再在File → Project Structure → SDKs中手动添加 - 装了多个 JDK(比如
jdk-8和jdk-21),但项目用了record或switch表达式却选了 JDK 8 → 编译直接报错java: illegal start of expression - Mac 用户用 Homebrew 装的 JDK,路径藏在
/opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk这类非标准位置,IDEA 可能扫不到,得手动定位到Contents/Home子目录
用 “Java” 模板,别碰 “Empty Project”
Empty Project 看似自由,实则坑多:没有 src 目录、没有模块配置、java 文件右键找不到 Run。正确路径是:
- 启动页点
Create New Project - 左侧选
Java(不是Gradle或Maven,除非你明确需要) - 右侧确认
Project SDK已选好,勾选create project from template,再选Command Line App - 这样会自动生成带
public static void main(String[] args)的HelloWorld.java,且src被标记为 Sources Root
运行前务必检查模块语言级别
即使 JDK 选对了,模块的语言级别(Language level)也可能被锁死在旧版本。现象是:代码写了 var list = new ArrayList(),却提示 Cannot resolve symbol 'var'。
立即学习“Java免费学习笔记(深入)”;
- 进
File → Project Structure → Modules → Sources - 把
Language level改成和 SDK 匹配的值(如 JDK 17 对应17 - Sealed types, pattern matching for switch) - 这个设置独立于 SDK,改完不生效?点
Apply后还要点OK,否则只是缓存修改
public class Main {
public static void main(String[] args) {
var message = "Hello, IDEA"; // 如果这里标红,八成是 Language level 没调对
System.out.println(message);
}
}最常被忽略的一点:新建项目后首次运行,IDEA 会自动生成一个 Run Configuration,但它的 Use classpath of module 如果指向了错误的模块(比如名字带 test 或 old 的),就会找不到主类。右键 Run 'Main.main()' 前,先看右上角配置下拉里选的是不是你刚建的模块名。










