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

Spring Boot引入JPA依赖仍提示找不到EnableJpaRepositories符号

解决Spring Boot构建时找不到@EnableJpaRepositories符号的问题

问题概述

Spring Boot项目已引入org.springframework.boot:spring-boot-starter-data-jpa依赖,但执行.\gradlew clean build命令构建失败,提示找不到@EnableJpaRepositories符号。

错误信息

C:\Users\biz\IdeaProjects\genecab-bank\src\main\java\com\genecab\bank\BankApplication.java:8: error: cannot find symbol
@EnableJpaRepositories
 ^
  symbol: class EnableJpaRepositories
1 error

FAILURE: Build failed with an exception.

BankApplication.java代码

package com.genecab.bank;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.JpaRepository;

@SpringBootApplication
@EnableJpaRepositories
public class BankApplication {

    public static void main(String[] args) {
        SpringApplication.run(BankApplication.class, args);
    }

}

build.gradle配置

plugins {
    id 'java'
    id 'org.springframework.boot' version '3.0.5'
    id 'io.spring.dependency-management' version '1.1.0'
}

group = 'com.genecab'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-security'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.data:spring-data-jdbc'
    implementation 'com.h2database:h2'
    implementation 'org.flywaydb:flyway-core'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

tasks.named('test') {
    useJUnitPlatform()
}

执行命令

.\gradlew clean build

预期结果

C:\Users\biz\IdeaProjects\genecab-bank>.\gradlew clean build

BUILD SUCCESSFUL in 18s
9 actionable tasks: 9 executed

解决方案

方案1:添加缺失的导入语句

代码中使用了@EnableJpaRepositories注解,但未导入对应的类。在BankApplication.java中添加以下导入:

import org.springframework.data.jpa.repository.config.EnableJpaRepositories;

修改后的完整代码:

package com.genecab.bank;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;

@SpringBootApplication
@EnableJpaRepositories
public class BankApplication {

    public static void main(String[] args) {
        SpringApplication.run(BankApplication.class, args);
    }

}

方案2:移除@EnableJpaRepositories注解

Spring Boot的@SpringBootApplication注解默认会自动扫描主类所在包(com.genecab.bank)及其子包下的JPA Repository接口。如果你的Repository类都在该范围内,完全可以去掉@EnableJpaRepositories注解,依赖Spring Boot的自动配置即可完成Repository的注册。

修改后的代码:

package com.genecab.bank;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class BankApplication {

    public static void main(String[] args) {
        SpringApplication.run(BankApplication.class, args);
    }

}

执行.\gradlew clean build即可构建成功。

内容的提问来源于stack exchange,提问作者M. Franklin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 19:37:43