I was checking the actual Elasticsearch Java Api and while I created a NodeClient with the api I got lots of exceptions which is frustrating because I just did a clean install and there's nothing complicated in my pom.xml.
These are exceptions I got with the following of a huge stacktrace of course.
These are exceptions I got with the following of a huge stacktrace of course.
java.lang.ClassNotFoundException: groovy.lang.GroovyClassLoader at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_66] java.lang.ClassNotFoundException: com.github.mustachejava.Mustache at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_66] java.lang.ClassNotFoundException: org.apache.lucene.expressions.Expression at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_66] java.lang.ClassNotFoundException: com.sun.jna.Native at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_66]So I made maven generate a dependency tree, checked dependencies in elasticsearch client parent pom and added the necessary dependencies one by one by hand. Note that these are for Elasticsearch 2.1.1. For the version of your dependencies you should check org.elasticsearch.elasticsearch pom of your version of Elasticsearch.
org.codehaus.groovy groovy-all 2.4.4 com.github.spullara.mustache.java compiler 0.8.13 org.apache.lucene lucene-expressions 5.3.1 net.java.dev.jna jna 4.1.0