Java Spring Data Solr无法在构造函数中创建CRUD实现-NPE
创建名为“classifierSolrRepository”的bean时出现Java Spring Data Solr无法在构造函数中创建CRUD实现-NPE,java,spring,solr,Java,Spring,Solr,创建名为“classifierSolrRepository”的bean时出现错误:调用init方法失败;嵌套异常为org.springframework.beans.beanstantiationException:未能实例化[org.springframework.data.solr.repository.support.SimpleSolrRepository]:构造函数引发异常;嵌套异常是java.lang.NullPointerException 分类器索尔还原类: public int
错误:调用init方法失败;嵌套异常为org.springframework.beans.beanstantiationException:未能实例化[org.springframework.data.solr.repository.support.SimpleSolrRepository]:构造函数引发异常;嵌套异常是java.lang.NullPointerException
分类器索尔还原类:
public interface ClassifierSolrRepository extends SolrCrudRepository<ClassifierSolr, String>
{
public List<ClassifierSolr> findByClassifierid(long id);
public List<ClassifierSolr> findByLanguage(String language);
public ClassifierSolr findByLanguageAndClassifierid(String language, long id);
public ClassifierSolr findByLanguageAndCode(String language, String code);
}
最后是我的Solr配置:
@Configuration
@PropertySource("classpath:application.properties")
@EnableSolrRepositories("lt.gerasolutions.gsm.core.solrRepositories")
public class SolrContext {
private static final String PROPERTY_NAME_SOLR_SERVER_URL = "solr.host";
@Resource
private Environment environment;
@Bean
public SolrClient solrClient(){
return new HttpSolrClient(environment.getRequiredProperty(PROPERTY_NAME_SOLR_SERVER_URL));
}
@Bean
public SolrTemplate solrTemplate(){
//return new SolrTemplate(solrClient(), "Classifiers");
return new SolrTemplate(solrClient());
}
}
我认为它失败的唯一原因是方法名和字段不匹配,但这里的情况似乎不是这样 如果有人遇到同样的问题-它不起作用,因为我有
solr-solrj/solr-core
以及spring-data-solr
maven依赖项。当我删除了除spring data solr之外的所有内容后(并相应地将SolrClient
更改为SolrServer
),一切都开始工作了
@Configuration
@PropertySource("classpath:application.properties")
@EnableSolrRepositories("lt.gerasolutions.gsm.core.solrRepositories")
public class SolrContext {
private static final String PROPERTY_NAME_SOLR_SERVER_URL = "solr.host";
@Resource
private Environment environment;
@Bean
public SolrClient solrClient(){
return new HttpSolrClient(environment.getRequiredProperty(PROPERTY_NAME_SOLR_SERVER_URL));
}
@Bean
public SolrTemplate solrTemplate(){
//return new SolrTemplate(solrClient(), "Classifiers");
return new SolrTemplate(solrClient());
}
}