問題:
在ElasticSearch中安裝X-pack后,通過TransportClient進行訪問時,需要實例化PreBuiltXPackTransportClient,因此需要加入相應的jar包文件來增加此類。
解決:
Maven構建項目的話:
<project ...>
<repositories>
<repository>
<id>elasticsearch-releases</id>
<url>https://artifacts.elastic.co/maven</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
...
</repositories>
...
<dependencies>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>x-pack-transport</artifactId>
<version>5.2.2</version>
</dependency>
...
</dependencies>
...
</project>
Gradle構建項目的話:
repositories {
/* ... Any other repositories ... */
// Add the Elasticsearch Maven Repository
maven {
url "https://artifacts.elastic.co/maven"
}
}
dependencies {
// Provide the x-pack jar on the classpath for compilation and at runtime
compile "org.elasticsearch.client:x-pack-transport:5.2.2"
/* ... */
}