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

使用Gradle时无法解析javax.persistence相关符号问题求助

解决Spring Boot 3中无法解析javax.persistence符号的问题

问题根源

Spring Boot 3.x 基于Jakarta EE 9规范,该版本已将原Java EE的API包名从javax.*全面迁移至jakarta.*,你代码中使用的javax.persistence.Entity和javax.persistence.Id属于旧版Java EE API,在Spring Boot 3环境下已不再提供支持,因此出现符号无法解析的问题。

修复步骤

1. 替换实体类的注解包路径

修改Person.java中的导入语句,将javax.persistence替换为jakarta.persistence:

package com.example.bootdemoapp.entities;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import jakarta.persistence.Entity;
import jakarta.persistence.Id;

@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Person {
    @Id
    private Integer personId;
    private String personName;
    private String personCity;
}

2. 确认依赖配置有效性

你的build.gradle中已正确引入spring-boot-starter-data-jpa,该依赖在Spring Boot 3中会自动引入Jakarta Persistence API依赖,无需额外添加其他配置,保持现有依赖即可:

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    compileOnly 'org.projectlombok:lombok'
    runtimeOnly 'com.mysql:mysql-connector-j'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

3. 重新同步并构建项目

完成代码修改后,执行以下操作确保依赖生效:

  • 在IDEA中点击Gradle面板的「Refresh all Gradle Projects」按钮
  • 或在终端执行命令:gradlew.bat clean build --refresh-dependencies(Windows环境)/ ./gradlew clean build --refresh-dependencies(Linux/macOS环境)

内容的提问来源于stack exchange,提问作者Dhanushree K G

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 11:47:58