【问题标题】:How to resolve "AutoConfigure cycle detected" during spring boot upgrade from 1.5.x to 2.1.x如何在从 1.5.x 升级到 2.1.x 的 Spring Boot 升级期间解决“检测到自动配置周期”
【发布时间】:2019-06-28 07:57:15
【问题描述】:

我正在将我的项目的 Spring Boot 从 1.5.2 升级到 2.1.6(当前最新版本)。调整代码后,最终构建成功。

但是,由于多个“检测到自动配置周期”,我无法启动应用程序。下面是其中两个:
1. 在 org.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfiguration 和
之间检测到 AutoConfigure 循环 org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration
2.在org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration和org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration之间检测到AutoConfigure循环

我在 stackoverflow 上看到了一些关于这个主题的不太受欢迎的问题:
Eclipse Spring Boot - AutoConfigure cycle detected between HibernateJpaAutoConfiguration and CacheAutoConfiguration

Eclipse Spring Boot - AutoConfigure cycle detected between TransactionAutoConfiguration and Neo4jDataAutoConfiguration

那么,我想知道一般“检测到的自动配置周期之间”应该如何解决?

我尝试的是在 @SpringBootApplication 注释中添加排除。这可以帮助我暂时解决该问题,但稍后我会遇到不同的麻烦...我不确定它们是否与此排除有关。

例如:

@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, 
        HibernateJpaAutoConfiguration.class, CacheAutoConfiguration.class})
public class InitApplication {

跳过在 org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration 和 org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration 之间检测到的 AutoConfigure 循环 错误信息。

【问题讨论】:

    标签: java spring-boot upgrade


    【解决方案1】:

    这是 Springboot 和 spring-data-jpa 版本问题。我尝试了上述解决方案,但仍然无法创建 entityManager 和 TransactionManager bean。

    我在 Application Driver 类上添加了一些非常适合我的注释。

    @SpringBootApplication(exclude = { CacheAutoConfiguration.class})
    @EnableAutoConfiguration
    

    【讨论】:

      猜你喜欢
      • 2022-01-10
      • 2018-12-20
      • 2021-01-11
      • 2016-09-08
      • 2023-03-30
      • 2016-12-23
      • 1970-01-01
      • 1970-01-01
      • 2018-10-07
      相关资源
      最近更新 更多