在Java里IDEA如何新建Java项目_Java开发项目创建说明

新建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-8jdk-21),但项目用了 recordswitch 表达式却选了 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(不是 GradleMaven,除非你明确需要)
  • 右侧确认 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'

  • 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 如果指向了错误的模块(比如名字带 testold 的),就会找不到主类。右键 Run 'Main.main()' 前,先看右上角配置下拉里选的是不是你刚建的模块名。