我正在尝试将现有的Spring应用程序移植到Spring Boot。我使用spring-boot-starter-data-solr启动器 NOT 但是我的类路径上有apache solrj(5.0.0)。
启动期间应用程序爆炸。看起来spring boot会看到solr类,并假设我在classpath上也有spring-boot-starter-data-solr。特别是我收到这个错误:
java.lang.IllegalArgumentException:@ConditionalOnMissingBean 注释必须至少指定一个bean(类型,名称或注释)
如果我删除了solrj依赖项并使用spring-boot-starter-data-solr,那就没问题了。但是我不需要spring-data-solr集成,这样做会迫使我将我们的应用程序反向移植到4.7.x版本的solr。
有人知道解决方法吗?
答案 0 :(得分:6)
所以看起来这个问题是由spring boot对solrj 4.7.x的依赖引起的,而我使用的是5.0.0
我使用
修复了它@SpringBootApplication(exclude = {SolrAutoConfiguration.class})
告诉boot完全忽略SolrAutoConfiguration。