我正在使用具有以下依赖关系的Spring Boot:
compile group: 'org.springframework.data',
name: 'spring-data-solr',
version: '2.1.6.RELEASE'
对于开发和测试,我想使用EmbeddedSolrServer。为此,我有以下代码。
@Bean
public EmbeddedSolrServerFactoryBean solrServerFactoryBean() {
EmbeddedSolrServerFactoryBean factory = new EmbeddedSolrServerFactoryBean();
factory.setSolrHome(env.getRequiredProperty(PROPERTY_NAME_SOLR_SOLR_HOME));
return factory;
}
@Bean
public SolrTemplate solrTemplate() throws Exception {
return new SolrTemplate(solrServerFactoryBean().getSolrClient(""));
}
当我运行我的代码时,我遇到了以下错误。
Caused by: java.lang.ClassNotFoundException: org.apache.solr.client.solrj.embedded.EmbeddedSolrServer
我决定进行检查,我发现无法找到以下软件包,当我检查EmbeddedSolrServerFactory源代码时,Intellij将“嵌入式”和“核心”部分突出显示为红色。
import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
import org.apache.solr.core.CoreContainer;
为了解决这个问题,我尝试将此依赖项添加到我的Gradle设置中,但无济于事。
compile group: 'org.apache.solr', name: 'solr-solrj', version: '5.5.2'
几乎就像从地图上擦除了EmbeddedSolrServer一样。有谁知道我可以在哪里获得该类,或者为什么我的Spring Boot Solr设置不会自动导入它?
非常感谢任何帮助。
答案 0 :(得分:0)
似乎Solr版本Spring Boot使用的是错误的。您可以使用以下命令在pom中手动设置:
<properties>
<solr.version>5.5.2</solr.version>
</properties>
希望这能解决你的问题。