Java Spring Data Solr无法创建CRUD实现-NPE构造函数



i获得 Error creating bean with name 'classifierSolrRepository': Invocation of init method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.solr.repository.support.SimpleSolrRepository]: Constructor threw exception; nested exception is java.lang.NullPointerException

classifiersolrrepository类:

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);
}

classifierlr类:

public class ClassifierSolr {

    @Field("id_s") 
    private String id;
    @Field("name_s")
    private String name;
    @Field("desc_s")
    private String desc;
    @Field("classifierid_l")
    private long classifierid;
    @Field("code_s")
    private String code;
    @Field("language_s")
    private String language;
    //getters and setters
    }

最后我的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),一切都开始工作。

最新更新