我要将项目的Spring Boot从1.5.2升级到2.1.6(当前最新消息)。调整代码后,它终于可以成功构建。
但是,由于多个“检测到自动配置周期”,我无法启动应用程序。波纹管是其中的两个:
1.在org.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfiguration和
之间检测到自动配置周期
org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration
2.在org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration和org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration
关于这个关于stackoverflow的观点,我只看到了一些不受欢迎的热门问题:
Eclipse Spring Boot - AutoConfigure cycle detected between HibernateJpaAutoConfiguration and CacheAutoConfiguration
因此,我想知道通常应如何解决“检测到的自动配置周期”?
我尝试过的是在@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之间检测到的自动配置周期 weeor消息。
答案 0 :(得分:1)
这是Springboot和spring-data-jpa版本问题。我尝试了上述解决方案,但仍然给entityManager和TransactionManager bean创建失败。
我在Application Driver类上添加了一些注释,这些注释非常适合我。
@SpringBootApplication(exclude = { CacheAutoConfiguration.class})
@EnableAutoConfiguration