本節描述從獲取工件到在應用程序中使用它如何開始使用低級別REST客戶端。html
能夠在https://artifacts.elastic.co/javadoc/org/elasticsearch/client/elasticsearch-rest-client/6.4.2/index.html找到低級別REST客戶端的javadoc。java
低級別Java REST客戶端託管在Maven Central上,所需的最低Java版本是1.7
。git
低級別REST客戶端與Elasticsearch具備相同的發佈週期,將版本替換爲想要的客戶端版本,首先使用5.0.0-alpha4
發佈版,客戶端版本與客戶端能夠與之通訊的Elasticsearch版本之間沒有任何關係,低級別REST客戶端與全部Elasticsearch版本兼容。github
若是你正在尋找SNAPSHOT版本,能夠經過https://snapshots.elastic.co/maven/獲取Elastic Maven Snapshot存儲庫。apache
如下是如何使用maven做爲依賴關係管理器來配置依賴關係,將如下內容添加到pom.xml
文件中:segmentfault
<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-client</artifactId> <version>6.4.2</version> </dependency>
如下是使用gradle做爲依賴關係管理器配置依賴關係的方法,將如下內容添加到build.gradle
文件中:後端
dependencies { compile 'org.elasticsearch.client:elasticsearch-rest-client:6.4.2' }
低級別的Java REST客戶端內部使用Apache Http Async Client發送Http請求,它依賴於如下構件,即異步http客戶端及其自身傳遞依賴關係:異步
爲了不版本衝突,能夠在單個JAR文件(有時稱爲「uber JAR」或「fat JAR」)中對依賴關係進行shaded並打包在客戶端中,Shading依賴項包括獲取其內容(資源文件和Java類文件)並重命名其某些包,而後將它們放入與低級別Java REST客戶端相同的JAR文件中,能夠經過Gradle和Maven的第三方插件來完成對JAR的Shading。async
請注意,對JAR進行shading也會產生影響,例如,對Commons Logging圖層進行Shading意味着第三方日誌記錄後端也須要shaded。elasticsearch
這是使用Maven Shade插件的配置,將如下內容添加到pom.xml
文件中:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.1.0</version> <executions> <execution> <phase>package</phase> <goals><goal>shade</goal></goals> <configuration> <relocations> <relocation> <pattern>org.apache.http</pattern> <shadedPattern>hidden.org.apache.http</shadedPattern> </relocation> <relocation> <pattern>org.apache.logging</pattern> <shadedPattern>hidden.org.apache.logging</shadedPattern> </relocation> <relocation> <pattern>org.apache.commons.codec</pattern> <shadedPattern>hidden.org.apache.commons.codec</shadedPattern> </relocation> <relocation> <pattern>org.apache.commons.logging</pattern> <shadedPattern>hidden.org.apache.commons.logging</shadedPattern> </relocation> </relocations> </configuration> </execution> </executions> </plugin> </plugins> </build>
這是使用Gradle ShadowJar插件的配置,將如下內容添加到build.gradle
文件中:
shadowJar { relocate 'org.apache.http', 'hidden.org.apache.http' relocate 'org.apache.logging', 'hidden.org.apache.logging' relocate 'org.apache.commons.codec', 'hidden.org.apache.commons.codec' relocate 'org.apache.commons.logging', 'hidden.org.apache.commons.logging' }