本节描述从获取工件到在应用程序中使用它如何开始使用低级别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' }