title: Elasticsearch Java API error "NoClassDefFoundError"
body: <p>I'm using the Java API. I tried the following:</p>
  
  <pre><code>Client client = TransportClient.builder().build() 
   .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9200));
  </code></pre>
  
  <p>But it gave me the following error:</p>
  
  <pre><code>Exception in thread "main" java.lang.NoClassDefFoundError:       com/google/common/collect/ImmutableMap
  at org.elasticsearch.client.transport.TransportClient$Builder.&lt;init&gt;(TransportClient.java:84)
  at org.elasticsearch.client.transport.TransportClient.builder(TransportClient.java:76)
  at tools.Tools.Searcher(Tools.java:195)
  at tools.Tools.main(Tools.java:60)
  Caused by: java.lang.ClassNotFoundException: com.google.common.collect.ImmutableMap
  at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
  at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
  ... 4 more
  Java Result: 1
  </code></pre>
  
  <p>I am using Elasticsearch 2.0.0 and it is running on port 9200</p>
  
  <p>What is causing that error and how can I fix it?</p>