我正在尝试将我的Spring Boot应用程序连接到本地elasticsearch 5.2.1实例.当我使用" org.springframework.boot:spring-boot-starter-data-elasticsearch "依赖时,我面对" 来自不支持版本的收到消息:[2.0.0]最小兼容版本是:[5.0.0] ".我认为这是由于elasticsearch版本在启动器依赖中是2.4.4.因此,要解决此错误,我可以通过添加elasticsearch.version> 5.2.1/elasticsearch.version> line来编辑pom.xml属性.但这次我得到" java.lang.NoSuchMethodError:org.elasticsearch.client.transport.TransportClient.builder() "
要解决这个问题,我创建自定义配置类,如下所示:
@Configuration
public class ElasticsearchConfiguration {
@Bean
public Client client() throws UnknownHostException {
TransportClient client = new PreBuiltTransportClient(Settings.EMPTY)
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300));
return client;
}
@Bean
public ElasticsearchTemplate elasticsearchTemplate() throws UnknownHostException {
return new ElasticsearchTemplate(client());
}
}
Run Code Online (Sandbox Code Playgroud)
这次我得到apache.logging.log4j异常(请点击这里),所以我添加了必要的依赖项.
最后,我得到了以下错误并坚持到那里.任何人都可以帮我解决这个问题吗?
嵌套异常是java.lang.NoClassDefFoundError:org/elasticsearch/action/count/CountRequestBuilder