You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IntelliJ社区版运行Spring Boot项目报javax.persistence不存在错误

解决IntelliJ IDEA社区版运行Spring Boot项目时的javax.persistence.NoClassDefFoundError问题

问题现象

克隆的Spring Boot项目在IntelliJ IDEA Ultimate中可正常运行,但使用Community Edition运行时抛出以下错误:

Failed to read candidate component class: (1)\kipu-rcm-api\target\classes\com\kipu\ecal\entity\AbstractAuditingEntity.class]; nested exception is java.lang.NoClassDefFoundError: javax/persistence/PersistenceException

此前还遇到过QCommunicationGlobalSetting类找不到的错误,通过右键项目→Maven→Generate Sources and Update Folder已修复,但社区版仍存在JPA相关报错。

原因分析

核心问题出在项目pom.xml中spring-boot-starter-data-jpa依赖的scope配置:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
    <scope>provided</scope>
</dependency>
  • provided scope意味着该依赖仅在编译、测试阶段生效,运行时预期由外部容器提供。
  • IntelliJ IDEA Ultimate内置了JPA增强支持,运行时会自动补充该依赖;而Community Edition无此增强逻辑,导致运行时无法找到JPA相关类,触发NoClassDefFoundError。

解决方案

注释或移除spring-boot-starter-data-jpa依赖中的<scope>provided</scope>配置,修改后的依赖代码如下:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
    <!-- 移除或注释该行 -->
    <!-- <scope>provided</scope> -->
</dependency>

修改完成后,重新执行Maven的Generate Sources and Update Folder操作,再次运行项目即可解决社区版的报错问题。

环境信息

  • 本地Java版本:17.0.6 LTS
  • 项目JDK:Oracle OpenJDK 19.0.2
  • 构建工具:Maven(IntelliJ默认版本)

内容的提问来源于stack exchange,提问作者humblefool

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 23:58:22