# Error while using Java High Level Rest Client

**URL:** <https://discuss.elastic.co/t/error-while-using-java-high-level-rest-client/124436>\
**Category:** Elasticsearch\
**Created:** [March 18, 2018, 9:52am UTC](https://discuss.elastic.co/t/error-while-using-java-high-level-rest-client/124436 "2018-03-18T09:52:50Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![navneet35](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/navneet35/32/28916_2.png) [@navneet35](https://discuss.elastic.co/u/navneet35)\
**Post date:** [March 18, 2018, 9:52am UTC](https://discuss.elastic.co/t/error-while-using-java-high-level-rest-client/124436/1 "2018-03-18T09:52:50Z")

</div>

Hi,  
I am trying to develop a spring boot based elasticsearch project and I am trying to use Java High Level Rest Client in the same.  
I am initializing the client like this:

```auto
RestHighLevelClient client = new RestHighLevelClient(
				RestClient.builder(
                                    new HttpHost("localhost", 9200, "http"), 
                                    new HttpHost("localhost", 9201, "http"))
                                  );

```

But I am encountering an exception caused by:

```auto
Caused by: java.lang.ClassNotFoundException: org.apache.lucene.util.Version
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_151]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_151]
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) ~[na:1.8.0_151]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_151]
	... 54 common frames omitted

```

My pom.xml has the following dependencies:

```auto
        <dependency>
			<groupId>org.elasticsearch</groupId>
			<artifactId>elasticsearch</artifactId>
			<version>6.2.2</version>
		</dependency>
        <dependency>
			<groupId>org.elasticsearch.client</groupId>
			<artifactId>elasticsearch-rest-high-level-client</artifactId>
			<version>6.2.2</version>
		</dependency>

```

I have also tried adding

```auto
	<repositories>
		<repository>
			<id>elastic-lucene-snapshots</id>
			<name>Elastic Lucene Snapshots</name>
			<url>http://s3.amazonaws.com/download.elasticsearch.org/lucenesnapshots/00142c9</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
	</repositories>

```

as mentioned in the documentation but the exception is still there.  
I have also checked the **mvn dependency:tree** and lucene-core and other dependencies are there.  
Please help me out.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 18, 2018, 10:04am UTC](https://discuss.elastic.co/t/error-while-using-java-high-level-rest-client/124436/2 "2018-03-18T10:04:48Z")

</div>

Please format your code, logs or configuration files using `</>` icon as explained in [this guide](https://discuss.elastic.co/t/about-the-elasticsearch-category/21) and not the citation button. It will make your post more readable.

Or use markdown style like:

````
```
CODE
```

````

There's a live preview panel for exactly this reasons.

Lots of people read these forums, and many of them will simply skip over a post that is difficult to read, because it's just too large an investment of their time to try and follow a wall of badly formatted text.  
If your goal is to get an answer to your questions, it's in your interest to make it as easy to read and understand as possible.

Please update your post and remove all the **bold** (`**`) you tried to add.

---

<div class="post-metadata">

**Author:** ![navneet35](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/navneet35/32/28916_2.png) [@navneet35](https://discuss.elastic.co/u/navneet35)\
**Post date:** [March 19, 2018, 7:16am UTC](https://discuss.elastic.co/t/error-while-using-java-high-level-rest-client/124436/3 "2018-03-19T07:16:05Z")

</div>

Hi David,  
I have updated the query as suggested by you.  
Thanks for the input.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 19, 2018, 9:10am UTC](https://discuss.elastic.co/t/error-while-using-java-high-level-rest-client/124436/4 "2018-03-19T09:10:54Z")

</div>

Much better. Thanks!

Can you share the full `dependency:tree` ?

---

<div class="post-metadata">

**Author:** ![navneet35](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/navneet35/32/28916_2.png) [@navneet35](https://discuss.elastic.co/u/navneet35)\
**Post date:** [March 19, 2018, 1:59pm UTC](https://discuss.elastic.co/t/error-while-using-java-high-level-rest-client/124436/5 "2018-03-19T13:59:04Z")

</div>

mvn dependency tree

```auto
+- org.elasticsearch:elasticsearch:jar:6.2.2:compile
 | +- org.elasticsearch:elasticsearch-core:jar:6.2.2:compile
 | +- org.apache.lucene:lucene-core:jar:7.2.1:compile
 | +- org.apache.lucene:lucene-analyzers-common:jar:7.2.1:compile
 | +- org.apache.lucene:lucene-backward-codecs:jar:7.2.1:compile
 | +- org.apache.lucene:lucene-grouping:jar:7.2.1:compile
 | +- org.apache.lucene:lucene-highlighter:jar:7.2.1:compile
 | +- org.apache.lucene:lucene-join:jar:7.2.1:compile
 | +- org.apache.lucene:lucene-memory:jar:7.2.1:compile
 | +- org.apache.lucene:lucene-misc:jar:7.2.1:compile
 | +- org.apache.lucene:lucene-queries:jar:7.2.1:compile
 | +- org.apache.lucene:lucene-queryparser:jar:7.2.1:compile
 | +- org.apache.lucene:lucene-sandbox:jar:7.2.1:compile
 | +- org.apache.lucene:lucene-spatial:jar:7.2.1:compile
 | +- org.apache.lucene:lucene-spatial-extras:jar:7.2.1:compile
 | +- org.apache.lucene:lucene-spatial3d:jar:7.2.1:compile
 | +- org.apache.lucene:lucene-suggest:jar:7.2.1:compile
 | +- org.elasticsearch:securesm:jar:1.2:compile
 | +- org.elasticsearch:elasticsearch-cli:jar:6.2.2:compile
 | | \- net.sf.jopt-simple:jopt-simple:jar:5.0.2:compile
 | +- com.carrotsearch:hppc:jar:0.7.1:compile
 | +- joda-time:joda-time:jar:2.9.9:compile
 | +- org.yaml:snakeyaml:jar:1.19:compile
 | +- com.fasterxml.jackson.core:jackson-core:jar:2.9.4:compile
 | +- com.fasterxml.jackson.dataformat:jackson-dataformat-smile:jar:2.9.4:compile
 | +- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.9.4:compile
 | +- com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:jar:2.9.4:compile
 | +- com.tdunning:t-digest:jar:3.0:compile
 | +- org.hdrhistogram:HdrHistogram:jar:2.1.9:compile
 | +- org.apache.logging.log4j:log4j-api:jar:2.10.0:compile
 | \- org.elasticsearch:jna:jar:4.5.1:compile
 +- org.springframework.boot:spring-boot-starter-web:jar:2.0.0.RELEASE:compile
 | +- org.springframework.boot:spring-boot-starter:jar:2.0.0.RELEASE:compile
 | | +- org.springframework.boot:spring-boot:jar:2.0.0.RELEASE:compile
 | | +- org.springframework.boot:spring-boot-autoconfigure:jar:2.0.0.RELEASE:compile
 | | +- org.springframework.boot:spring-boot-starter-logging:jar:2.0.0.RELEASE:compile
 | | | +- ch.qos.logback:logback-classic:jar:1.2.3:compile
 | | | | \- ch.qos.logback:logback-core:jar:1.2.3:compile
 | | | +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.10.0:compile
 | | | \- org.slf4j:jul-to-slf4j:jar:1.7.25:compile
 | | \- javax.annotation:javax.annotation-api:jar:1.3.2:compile
 | +- org.springframework.boot:spring-boot-starter-json:jar:2.0.0.RELEASE:compile
 | | +- com.fasterxml.jackson.core:jackson-databind:jar:2.9.4:compile
 | | | \- com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0:compile
 | | +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.9.4:compile
 | | +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.9.4:compile
 | | \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.9.4:compile
 | +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.0.0.RELEASE:compile
 | | +- org.apache.tomcat.embed:tomcat-embed-core:jar:8.5.28:compile
 | | +- org.apache.tomcat.embed:tomcat-embed-el:jar:8.5.28:compile
 | | \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:8.5.28:compile
 | +- org.hibernate.validator:hibernate-validator:jar:6.0.7.Final:compile
 | | +- javax.validation:validation-api:jar:2.0.1.Final:compile
 | | +- org.jboss.logging:jboss-logging:jar:3.3.2.Final:compile
 | | \- com.fasterxml:classmate:jar:1.3.4:compile
 | +- org.springframework:spring-web:jar:5.0.4.RELEASE:compile
 | | \- org.springframework:spring-beans:jar:5.0.4.RELEASE:compile
 | \- org.springframework:spring-webmvc:jar:5.0.4.RELEASE:compile
 | +- org.springframework:spring-aop:jar:5.0.4.RELEASE:compile
 | +- org.springframework:spring-context:jar:5.0.4.RELEASE:compile
 | \- org.springframework:spring-expression:jar:5.0.4.RELEASE:compile
 +- org.springframework.boot:spring-boot-starter-test:jar:2.0.0.RELEASE:test
 | +- org.springframework.boot:spring-boot-test:jar:2.0.0.RELEASE:test
 | +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.0.0.RELEASE:test
 | +- com.jayway.jsonpath:json-path:jar:2.4.0:test
 | | +- net.minidev:json-smart:jar:2.3:test
 | | | \- net.minidev:accessors-smart:jar:1.2:test
 | | | \- org.ow2.asm:asm:jar:5.0.4:test
 | | \- org.slf4j:slf4j-api:jar:1.7.25:compile
 | +- junit:junit:jar:4.12:test
 | +- org.assertj:assertj-core:jar:3.9.1:test
 | +- org.mockito:mockito-core:jar:2.15.0:test
 | | +- net.bytebuddy:byte-buddy:jar:1.7.10:test
 | | +- net.bytebuddy:byte-buddy-agent:jar:1.7.10:test
 | | \- org.objenesis:objenesis:jar:2.6:test
 | +- org.hamcrest:hamcrest-core:jar:1.3:test
 | +- org.hamcrest:hamcrest-library:jar:1.3:test
 | +- org.skyscreamer:jsonassert:jar:1.5.0:test
 | | \- com.vaadin.external.google:android-json:jar:0.0.20131108.vaadin1:test
 | +- org.springframework:spring-core:jar:5.0.4.RELEASE:compile
 | | \- org.springframework:spring-jcl:jar:5.0.4.RELEASE:compile
 | +- org.springframework:spring-test:jar:5.0.4.RELEASE:test
 | \- org.xmlunit:xmlunit-core:jar:2.5.1:test
 +- org.springframework.boot:spring-boot-starter-actuator:jar:2.0.0.RELEASE:compile
 | +- org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.0.0.RELEASE:compile
 | | \- org.springframework.boot:spring-boot-actuator:jar:2.0.0.RELEASE:compile
 | \- io.micrometer:micrometer-core:jar:1.0.1:compile
 | \- org.latencyutils:LatencyUtils:jar:2.0.3:compile
 \- org.elasticsearch.client:elasticsearch-rest-high-level-client:jar:6.2.2:compile
    +- org.elasticsearch.client:elasticsearch-rest-client:jar:6.2.2:compile
    | +- org.apache.httpcomponents:httpclient:jar:4.5.5:compile
    | +- org.apache.httpcomponents:httpcore:jar:4.4.9:compile
    | +- org.apache.httpcomponents:httpasyncclient:jar:4.1.3:compile
    | +- org.apache.httpcomponents:httpcore-nio:jar:4.4.9:compile
    | +- commons-codec:commons-codec:jar:1.11:compile
    | \- commons-logging:commons-logging:jar:1.1.3:compile
    +- org.elasticsearch.plugin:parent-join-client:jar:6.2.2:compile
    | +- org.locationtech.spatial4j:spatial4j:jar:0.6:compile
    | +- com.vividsolutions:jts:jar:1.13:compile
    | \- org.apache.logging.log4j:log4j-core:jar:2.10.0:compile
    +- org.elasticsearch.plugin:aggs-matrix-stats-client:jar:6.2.2:compile
    \- org.elasticsearch.plugin:rank-eval-client:jar:6.2.2:compile

```

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 19, 2018, 3:16pm UTC](https://discuss.elastic.co/t/error-while-using-java-high-level-rest-client/124436/6 "2018-03-19T15:16:40Z")

</div>

Nothing looks wrong as far as I can tell. May be share a minimalist sample project on github we can look at?

Note: I never tried with Spring boot yet with the High Level client. That's on my TODO list though 🙂

---

<div class="post-metadata">

**Author:** ![navneet35](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/navneet35/32/28916_2.png) [@navneet35](https://discuss.elastic.co/u/navneet35)\
**Post date:** [March 19, 2018, 6:14pm UTC](https://discuss.elastic.co/t/error-while-using-java-high-level-rest-client/124436/7 "2018-03-19T18:14:06Z")

</div>

Hi David,  
I have pushed a basic version of the project on github.  
Please find it here [SpringBoot-ES](https://github.com/navneet35/springboot-es)

---

<div class="post-metadata">

**Author:** ![navneet35](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/navneet35/32/28916_2.png) [@navneet35](https://discuss.elastic.co/u/navneet35)\
**Post date:** [March 20, 2018, 6:15pm UTC](https://discuss.elastic.co/t/error-while-using-java-high-level-rest-client/124436/8 "2018-03-20T18:15:16Z")

</div>

Well, I solved it.  
**RCA**  
Actually, it all started when I included

```auto
        <dependency>
			<groupId>org.elasticsearch.client</groupId>
			<artifactId>elasticsearch-rest-high-level-client</artifactId>
			<version>6.2.2</version>
		</dependency>

```

and it uses `elasticsearch:5.6.8` and `joda-time:2.9.9.` then I started getting following exception

```auto
java.lang.ClassNotFoundException: org.joda.time.format.ISODateTimeFormat

```

To eliminate that I included

```auto
        <dependency>
			<groupId>org.elasticsearch</groupId>
			<artifactId>elasticsearch</artifactId>
			<version>6.2.2</version>
		</dependency>

```

and then I started getting

```auto
Caused by: java.lang.ClassNotFoundException: org.apache.lucene.util.Version
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_151]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_151]
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) ~[na:1.8.0_151]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_151]
	... 54 common frames omitted

```

Actually, the problem was not with Lucene but with `joda-time:2.9.9` in the first place.  
So, to solve that include

```auto
		<dependency>
			<groupId>joda-time</groupId>
			<artifactId>joda-time</artifactId>
			<version>2.9.4</version>
		</dependency>

```

and remove

```auto
        <dependency>
			<groupId>org.elasticsearch</groupId>
			<artifactId>elasticsearch</artifactId>
			<version>6.2.2</version>
		</dependency>

```

from your pom.xml.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [April 17, 2018, 6:15pm UTC](https://discuss.elastic.co/t/error-while-using-java-high-level-rest-client/124436/9 "2018-04-17T18:15:27Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
