【问题标题】:Type JdbcDaoSupport cannot be resolved. It is indirectly referenced from required .class files error类型 JdbcDaoSupport 无法解析。它是从所需的 .class 文件错误中间接引用的
【发布时间】:2018-12-27 00:58:09
【问题描述】:

我想关注来自 SO 的 this answer 并尝试添加以下代码:

public class CustomJdbcUserDetailsService extends JdbcDaoImpl {

    @Override
    public List<GrantedAuthority> loadUserAuthorities(String username) {
        return super.loadUserAuthorities(username);
    }

}

在我的 Spring-Boot 项目中。可悲的是我得到了输出:

The type org.springframework.jdbc.core.support.JdbcDaoSupport cannot be resolved. It is indirectly referenced from required .class files

所以在研究中我尝试添加一些新的依赖项(如建议的here

例如:

   <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
    </dependency>

但这无济于事。我试图刷新(清理)项目,但没有任何改变。有人可以解决这个问题吗?顺便说一句,我正在使用 Spring Tool Suite。

【问题讨论】:

    标签: java spring


    【解决方案1】:

    由于您使用的是 SpringBoot,您只需将 JDBC 启动器添加到您的 pom.xml 即可获得 JDBC 支持。

    <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>
    

    它会传递给你spring-jdbcspring-txHikariCP

    您还需要在 pom.xml 中包含 JDBC 驱动程序,具体取决于您使用的数据库。

    还记得在 application.properties 中配置数据库访问信息,例如在 Postgresql 的情况下:

    spring.datasource.url=jdbc:postgresql://127.0.0.1:5432/
    spring.datasource.username=admin 
    spring.datasource.password=password
    spring.datasource.driver-class-name=org.postgresql.Driver
    

    【讨论】:

      【解决方案2】:

      您可以按顺序尝试以下步骤:

      1. 添加spring-jdbc依赖
      2. 执行 maven 强制更新
      3. 删除 .m2/repository 文件夹,然后执行 maven 更新,因为本地 maven 存储库损坏也可能发生这种情况

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-14
        • 1970-01-01
        • 1970-01-01
        • 2017-10-05
        • 2013-05-14
        • 2017-02-26
        相关资源
        最近更新 更多