本质是SDK路径断开:需同步重设Project SDK、Module SDK和Output path三处,否则编译无输出;还需标记src为Sources Root、添加pom.xml、配置本地Maven及系统JAVA_HOME。

IDEA 项目换电脑后 build 没反应、import 报红,本质是 SDK 路径断了
不是 IDEA 坏了,也不是代码有问题,而是它完全不知道你新电脑上的 JDK 在哪。旧项目里所有 JDK 相关配置(比如 Project SDK、Module SDK、output path)都还指着原电脑的绝对路径,比如 C:\Users\OldUser\jdk-17 —— 新电脑上这个路径根本不存在,IDEA 就只能干瞪眼。
必须重设这三处,缺一不可:Project SDK、Module SDK、Output path
只改 Project SDK 是最常见的漏项操作,结果就是项目结构看着正常,但编译还是不生成 .class 文件。实际要同步检查并修正:
-
Project SDK:File → Project Structure → Project →
Project SDK下拉框选你本地已安装的 JDK(如17或21),别点“New → JDK”再找一遍——如果没列出来,说明还没添加到 SDK 列表,先去 Platform Settings → SDKs 里用“+”号添加 -
Module SDK:Project Structure → Modules → 选中你的模块 →
Module SDK必须和 Project SDK 一致;如果模块用了不同 JDK(比如老模块用 8,新模块用 17),这里得单独指定,且Language level要匹配 -
Output path:Project Structure → Modules → Paths → 勾选
Use module compile output path,然后手动填一个本地存在的路径,比如D:\myproject\out;别用默认的$MODULE_DIR$/out,它可能因路径权限或空格出问题
src 根目录丢失、Maven 不识别,是因为 IDE 没认出项目结构
换电脑后 IDEA 默认不会自动把 src 当作源码根目录,也不会加载 pom.xml —— 它把你当全新空白项目对待。常见表现是:java.lang.* 报红、mvn clean install 在 IDE 里点不动、Maven 工具窗口空白。
- 右键项目里的
src文件夹 →Mark as Sources Root(会变蓝) - 按
Ctrl+Shift+A打开快捷指令栏,搜Maven→ 点Add Maven Projects→ 选中你项目根目录下的pom.xml - 确认 Settings → Build → Maven →
Maven home path指向你本地安装的 Maven(不是 Bundled),否则mvn命令实际执行的是 IDEA 自带的阉割版
环境变量 JAVA_HOME 不影响 IDEA 编译,但影响 Maven/Gradle/Tomcat 启动
很多人以为只要 IDEA 里配好了 JDK,就万事大吉。但如果你项目里用到了 Maven 插件生成代码、用 Gradle 构建、或者部署到本地 Tomcat,这些工具启动时会读取系统级的 JAVA_HOME,而不是 IDEA 的设置。这时候就会出现:IDEA 里能编译通过,但 mvn compile 报 UnsupportedClassVersionError,或者 Tomcat 启动失败。
- 在命令行运行
echo %JAVA_HOME%(Windows)或echo $JAVA_HOME(macOS/Linux),确认输出是你期望的 JDK 根目录(如C:\jdk\jdk-17) - 确保
Path中只有一条 Java 相关路径,且是%JAVA_HOME%\bin(Windows)或$JAVA_HOME/bin(macOS/Linux);删掉任何硬编码的C:\Program Files\Java\...类路径,避免版本冲突 - 改完环境变量后,**必须重启终端和 IDEA**,否则新值不生效


















