Spring Data java.lang.NoSuchMethodError

佐手、 提交于 2019-12-11 13:19:26

问题


Spring is throwing

java.lang.NoSuchMethodError: org.springframework.data.util.ClassTypeInformation.from(Ljava/lang/Class;)Lorg/springframework/data/util/ClassTypeInformation;
        at org.springframework.data.elasticsearch.core.MappingBuilder.isEntity(MappingBuilder.java:260)
        at org.springframework.data.elasticsearch.core.MappingBuilder.mapEntity(MappingBuilder.java:97)
        at org.springframework.data.elasticsearch.core.MappingBuilder.buildMapping(MappingBuilder.java:70)
        at org.springframework.data.elasticsearch.core.ElasticsearchTemplate.putMapping(ElasticsearchTemplate.java:156)
        at org.springframework.data.elasticsearch.repository.support.AbstractElasticsearchRepository.putMapping(AbstractElasticsearchRepository.java:84)
        at org.springframework.data.elasticsearch.repository.support.AbstractElasticsearchRepository.<init>(AbstractElasticsearchRepository.java:73)
        at org.springframework.data.elasticsearch.repository.support.NumberKeyedRepository.<init>(NumberKeyedRepository.java:36)
        at org.springframework.data.elasticsearch.repository.support.ElasticsearchRepositoryFactory.getTargetRepository(ElasticsearchRepositoryFactory.java:73)
        at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:147)
        at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.getObject(RepositoryFactoryBeanSupport.java:162)
        at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.getObject(RepositoryFactoryBeanSupport.java:44)
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:142)
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:102)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1442)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:248)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:876)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:818)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:735)
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478)

Here's my repository and this is the one causing the problem

@Repository("clinicalDocumentRepository")
public interface ConsultationDocumentRepo extends ElasticsearchCrudRepository<ConsultationDocument,Long> {

How do I resolve this?


回答1:


ClassTypeInformation introduced the method in version 1.1.0:

public static <S> TypeInformation<S> from(Class<S> type) {

Make sure your spring-data-commons version is >=1.1.0




回答2:


For the current Spring Data Elasticsearch release (1.0.0.RELEASE) you need Spring Data Commons in 1.8.0.RELEASE (as the pom suggests).

Generally speaking we recommend to use the release train BOM (as documented here) to make sure you get all Spring Data libraries in the matching versions. The current version for the BOM is Dijkstra-RELEASE.



来源:https://stackoverflow.com/questions/24380857/spring-data-java-lang-nosuchmethoderror

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!