IDEA 构建和运行报错处理记录
IDEA 构建和运行报错处理记录
问题现象
- 在 IDEA 中执行 Build 或运行
AdminApplication会报错。 - 在命令行执行
mvn clean install可以成功。
排查结论
项目本身的 Maven 构建配置是可用的,命令行验证通过:
mvn clean install -DskipTests
IDEA 日志中可以看到 JPS 编译器报错:
COMPILATION FINISHED (BUILD PROCESS); Errors: 100
而 Maven 构建能够正常完成,说明问题主要不是业务代码或 pom.xml 编译失败,而是 IDEA 默认使用自身的 JPS/Make 构建流程,与项目实际依赖的 Maven 构建流程不一致。
本项目存在以下容易导致 IDEA JPS 与 Maven 行为不一致的点:
src/main/java下包含大量 MyBatis Mapper XML,依赖 Mavenresources配置复制到target/classes。- 项目使用 Lombok,需要 IDEA 编译器正确启用注解处理。
- 项目依赖本地 Maven 配置和本地仓库,例如
C:\Tools\apache-maven-3.6.3\conf\settings.xml与C:\Tools\JavaRepository。 - 存在
system作用域本地 Jar,例如src/main/resources/lib/kingbase8-9.0.0.jar。
解决办法
将 IDEA 的构建和运行委托给 Maven,避免 IDEA JPS 编译流程与 Maven 构建流程不一致。
已在 IDEA 项目配置中增加:
<component name="MavenRunner">
<option name="delegateBuildToMaven" value="true" />
<option name="jreName" value="1.8" />
</component>
对应文件:
.idea/workspace.xml
IDEA 中可手动确认的配置
如果 IDEA 重新导入项目后配置丢失,可以按以下方式手动检查:
-
打开
Settings。 -
进入
Build, Execution, Deployment→Build Tools→Maven。 -
确认 Maven home 使用:
C:\Tools\apache-maven-3.6.3 -
确认 User settings file 使用:
C:\Tools\apache-maven-3.6.3\conf\settings.xml -
进入
Build, Execution, Deployment→Build Tools→Maven→Runner。 -
勾选类似以下选项:
Delegate IDE build/run actions to Maven -
JRE 选择 Java 8:
1.8
验证结果
命令行重新验证 Maven 构建成功:
mvn clean install -DskipTests
验证运行:
mvn spring-boot:run -DskipTests
应用可以正常启动,端口为:
9081
注意事项
.idea/workspace.xml通常属于本地 IDEA 配置,不一定会被 Git 跟踪。- 如果其他开发环境仍然遇到 IDEA Build 报错,优先检查 IDEA 是否启用了 Maven 委托构建。
- 如果只使用命令行构建,以
mvn clean install -DskipTests的结果为准。 - Maven 构建时仍会提示部分历史警告,例如
junit使用RELEASE/LATEST、systemPath指向项目内 Jar,这些不是本次 IDEA 构建失败的直接原因。
浙公网安备 33010602011771号