# ElasticSearch Dependencies

**URL:** <https://discuss.elastic.co/t/elasticsearch-dependencies/2947>\
**Category:** Elasticsearch\
**Created:** [May 13, 2010, 12:25pm UTC](https://discuss.elastic.co/t/elasticsearch-dependencies/2947 "2010-05-13T12:25:25Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![kimchy](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kimchy/32/44952_2.png) [@kimchy](https://discuss.elastic.co/u/kimchy)\
**Post date:** [May 13, 2010, 12:25pm UTC](https://discuss.elastic.co/t/elasticsearch-dependencies/2947/1 "2010-05-13T12:25:25Z")

</div>

Hi,

ElasticSearch dependencies (when you use it on the JVM) have been reduced  
to just lucene. Some jars are not longer needed (jgroups for example) and  
some are jarjar'ed. Its in master, and snapshots have been updated.

cheers,  
shay.banon

---

<div class="post-metadata">

**Author:** ![Sergio\_Bossa](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sergio_bossa/32/3312_2.png) [@Sergio\_Bossa](https://discuss.elastic.co/u/Sergio_Bossa)\
**Post date:** [May 13, 2010, 12:30pm UTC](https://discuss.elastic.co/t/elasticsearch-dependencies/2947/2 "2010-05-13T12:30:59Z")

</div>

On Thu, May 13, 2010 at 2:25 PM, Shay Banon  
[shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com) wrote:

> Elasticsearch dependencies (when you use it on the JVM) have been reduced  
> to just lucene. Some jars are not longer needed (jgroups for example) and  
> some are jarjar'ed. Its in master, and snapshots have been updated.

Great, very useful for embedding Elasticsearch in your own project, or  
just using client APIs.

Cheers,

Sergio B.

--  
Sergio Bossa  
[http://www.linkedin.com/in/sergiob](http://www.linkedin.com/in/sergiob)

---

<div class="post-metadata">

**Author:** ![sezgin\_kucukkaraasla](https://avatars.discourse-cdn.com/v4/letter/s/9de0a6/32.png) [@sezgin\_kucukkaraasla](https://discuss.elastic.co/u/sezgin_kucukkaraasla)\
**Post date:** [May 13, 2010, 1:43pm UTC](https://discuss.elastic.co/t/elasticsearch-dependencies/2947/3 "2010-05-13T13:43:58Z")

</div>

Hi,  
I have been using transport client of release 0.5.1 for some time to connect  
to Elasticsearch nodes. (I could not use node client because I have old  
lucene jars in my classpath) When I try to move to the 0.6.0 version, I  
realized that some transport client api has a dependency to the lucene jars.  
Is this still the case, or does the client really need these dependencies ?

Thanks in advance,

Sezgin Kucukkaraaslan  
[www.ifountain.com](http://www.ifountain.com)

On Thu, May 13, 2010 at 3:25 PM, Shay Banon [shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com)wrote:

> Hi,
> 
> Elasticsearch dependencies (when you use it on the JVM) have been reduced  
> to just lucene. Some jars are not longer needed (jgroups for example) and  
> some are jarjar'ed. Its in master, and snapshots have been updated.
> 
> cheers,  
> shay.banon

---

<div class="post-metadata">

**Author:** ![kimchy](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kimchy/32/44952_2.png) [@kimchy](https://discuss.elastic.co/u/kimchy)\
**Post date:** [May 13, 2010, 1:55pm UTC](https://discuss.elastic.co/t/elasticsearch-dependencies/2947/4 "2010-05-13T13:55:13Z")

</div>

I actually have not tried to create the TransportClient to work without  
Lucene classes (basically meaning that any API elasticsearch provides should  
be without Lucene classes). Which APIs have you seen that have Lucene  
dependencies?

2010/5/13 sezgin küçükkaraaslan [sezo104@gmail.com](mailto:sezo104@gmail.com)

> Hi,  
> I have been using transport client of release 0.5.1 for some time to  
> connect to Elasticsearch nodes. (I could not use node client because I have  
> old lucene jars in my classpath) When I try to move to the 0.6.0 version, I  
> realized that some transport client api has a dependency to the lucene jars.  
> Is this still the case, or does the client really need these dependencies ?
> 
> Thanks in advance,
> 
> Sezgin Kucukkaraaslan  
> [www.ifountain.com](http://www.ifountain.com)
> 
> On Thu, May 13, 2010 at 3:25 PM, Shay Banon [shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com)wrote:
> 
> > Hi,
> > 
> > Elasticsearch dependencies (when you use it on the JVM) have been  
> > reduced to just lucene. Some jars are not longer needed (jgroups for  
> > example) and some are jarjar'ed. Its in master, and snapshots have been  
> > updated.
> > 
> > cheers,  
> > shay.banon

---

<div class="post-metadata">

**Author:** ![Lukasz\_Osipiuk](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lukasz_osipiuk/32/3346_2.png) [@Lukasz\_Osipiuk](https://discuss.elastic.co/u/Lukasz_Osipiuk)\
**Post date:** [May 13, 2010, 5:16pm UTC](https://discuss.elastic.co/t/elasticsearch-dependencies/2947/5 "2010-05-13T17:16:03Z")

</div>

On 13 May 2010 15:44, "sezgin küçükkaraaslan" [sezo104@gmail.com](mailto:sezo104@gmail.com) wrote:

Hi,  
I have been using transport client of release 0.5.1 for some time to connect  
to Elasticsearch nodes. (I could not use node client because I have old  
lucene jars in my classpath) When I try to move to the 0.6.0 version, I  
realized that some transport client api has a dependency to the lucene jars.  
Is this still the case, or does the client really need these dependencies ?

Thanks in advance,

Sezgin Kucukkaraaslan  
[www.ifountain.com](http://www.ifountain.com)

On Thu, May 13, 2010 at 3:25 PM, Shay Banon [shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com)  
wrote:

> Hi,
> 
> Elasticsearch dependencies (when you use it on the JVM) have been  
> reduced to just luce...

---

<div class="post-metadata">

**Author:** ![sezgin\_kucukkaraasla](https://avatars.discourse-cdn.com/v4/letter/s/9de0a6/32.png) [@sezgin\_kucukkaraasla](https://discuss.elastic.co/u/sezgin_kucukkaraasla)\
**Post date:** [May 14, 2010, 8:01am UTC](https://discuss.elastic.co/t/elasticsearch-dependencies/2947/6 "2010-05-14T08:01:24Z")

</div>

From the meaning of the name "TransportClient", it seems to me that the  
client is not related with lucene interface. It gets exception during the  
discovery of the other nodes. Here is the trace:

Exception in thread "elasticsearch[DuQuesne, Jacques][tp]-pool-1-thread-1"  
java.lang.NoClassDefFoundError: org/apache/lucene/util/StringHelper  
at  
org.elasticsearch.cluster.node.DiscoveryNode.(DiscoveryNode.java:40)  
at  
org.elasticsearch.cluster.node.DiscoveryNode.(DiscoveryNode.java:52)  
at  
org.elasticsearch.client.transport.TransportClientNodesService$ScheduledNodesSampler$1.run(TransportClientNodesService.java:170)  
at  
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)  
at  
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)  
at java.lang.Thread.run(Thread.java:619)  
Caused by: java.lang.ClassNotFoundException:  
org.apache.lucene.util.StringHelper  
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)  
at java.security.AccessController.doPrivileged(Native Method)  
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)  
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)  
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)  
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)  
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)  
... 6 more

Regards,  
Sezgin Kucukkaraaslan  
[www.ifountain.com](http://www.ifountain.com)

On Thu, May 13, 2010 at 4:55 PM, Shay Banon [shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com)wrote:

> I actually have not tried to create the TransportClient to work without  
> Lucene classes (basically meaning that any API elasticsearch provides should  
> be without Lucene classes). Which APIs have you seen that have Lucene  
> dependencies?
> 
> 2010/5/13 sezgin küçükkaraaslan [sezo104@gmail.com](mailto:sezo104@gmail.com)
> 
> Hi,
> 
> > I have been using transport client of release 0.5.1 for some time to  
> > connect to Elasticsearch nodes. (I could not use node client because I have  
> > old lucene jars in my classpath) When I try to move to the 0.6.0 version, I  
> > realized that some transport client api has a dependency to the lucene jars.  
> > Is this still the case, or does the client really need these dependencies ?
> > 
> > Thanks in advance,
> > 
> > Sezgin Kucukkaraaslan  
> > [www.ifountain.com](http://www.ifountain.com)
> > 
> > On Thu, May 13, 2010 at 3:25 PM, Shay Banon \<[shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com)
> > 
> > > wrote:
> > 
> > > Hi,
> > > 
> > > Elasticsearch dependencies (when you use it on the JVM) have been  
> > > reduced to just lucene. Some jars are not longer needed (jgroups for  
> > > example) and some are jarjar'ed. Its in master, and snapshots have been  
> > > updated.
> > > 
> > > cheers,  
> > > shay.banon

---

<div class="post-metadata">

**Author:** ![kimchy](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kimchy/32/44952_2.png) [@kimchy](https://discuss.elastic.co/u/kimchy)\
**Post date:** [May 14, 2010, 8:31am UTC](https://discuss.elastic.co/t/elasticsearch-dependencies/2947/7 "2010-05-14T08:31:53Z")

</div>

It might be what you derived from it, but I did not try and abstract the  
Transport Client from Lucene. Its problematic to try and maintain this, btw,  
since it was not designed to be so ...

2010/5/14 sezgin küçükkaraaslan [sezo104@gmail.com](mailto:sezo104@gmail.com)

> From the meaning of the name "TransportClient", it seems to me that the  
> client is not related with lucene interface. It gets exception during the  
> discovery of the other nodes. Here is the trace:
> 
> Exception in thread "elasticsearch[DuQuesne, Jacques][tp]-pool-1-thread-1"  
> java.lang.NoClassDefFoundError: org/apache/lucene/util/StringHelper  
> at  
> org.elasticsearch.cluster.node.DiscoveryNode.(DiscoveryNode.java:40)  
> at  
> org.elasticsearch.cluster.node.DiscoveryNode.(DiscoveryNode.java:52)  
> at  
> org.elasticsearch.client.transport.TransportClientNodesService$ScheduledNodesSampler$1.run(TransportClientNodesService.java:170)  
> at  
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)  
> at  
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)  
> at java.lang.Thread.run(Thread.java:619)  
> Caused by: java.lang.ClassNotFoundException:  
> org.apache.lucene.util.StringHelper  
> at java.net.URLClassLoader$1.run(URLClassLoader.java:200)  
> at java.security.AccessController.doPrivileged(Native Method)  
> at java.net.URLClassLoader.findClass(URLClassLoader.java:188)  
> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)  
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)  
> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)  
> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)  
> ... 6 more
> 
> Regards,
> 
> Sezgin Kucukkaraaslan  
> [www.ifountain.com](http://www.ifountain.com)
> 
> On Thu, May 13, 2010 at 4:55 PM, Shay Banon [shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com)wrote:
> 
> > I actually have not tried to create the TransportClient to work without  
> > Lucene classes (basically meaning that any API elasticsearch provides should  
> > be without Lucene classes). Which APIs have you seen that have Lucene  
> > dependencies?
> > 
> > 2010/5/13 sezgin küçükkaraaslan [sezo104@gmail.com](mailto:sezo104@gmail.com)
> > 
> > Hi,
> > 
> > > I have been using transport client of release 0.5.1 for some time to  
> > > connect to Elasticsearch nodes. (I could not use node client because I have  
> > > old lucene jars in my classpath) When I try to move to the 0.6.0 version, I  
> > > realized that some transport client api has a dependency to the lucene jars.  
> > > Is this still the case, or does the client really need these dependencies ?
> > > 
> > > Thanks in advance,
> > > 
> > > Sezgin Kucukkaraaslan  
> > > [www.ifountain.com](http://www.ifountain.com)
> > > 
> > > On Thu, May 13, 2010 at 3:25 PM, Shay Banon \<  
> > > [shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com)\> wrote:
> > > 
> > > > Hi,
> > > > 
> > > > Elasticsearch dependencies (when you use it on the JVM) have been  
> > > > reduced to just lucene. Some jars are not longer needed (jgroups for  
> > > > example) and some are jarjar'ed. Its in master, and snapshots have been  
> > > > updated.
> > > > 
> > > > cheers,  
> > > > shay.banon

---

<div class="post-metadata">

**Author:** ![kimchy](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kimchy/32/44952_2.png) [@kimchy](https://discuss.elastic.co/u/kimchy)\
**Post date:** [May 22, 2010, 1:57pm UTC](https://discuss.elastic.co/t/elasticsearch-dependencies/2947/8 "2010-05-22T13:57:50Z")

</div>

Hey,

I just pushed a possible fix for this, so Lucene will not be used in the  
TransportClient. The problem is that I can't verify this easily in tests,  
since its in the same module. If you can test it, it would be great.

cheers,  
shay.banon

On Fri, May 14, 2010 at 11:31 AM, Shay Banon  
[shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com)wrote:

> It might be what you derived from it, but I did not try and abstract the  
> Transport Client from Lucene. Its problematic to try and maintain this, btw,  
> since it was not designed to be so ...
> 
> 2010/5/14 sezgin küçükkaraaslan [sezo104@gmail.com](mailto:sezo104@gmail.com)
> 
> From the meaning of the name "TransportClient", it seems to me that the
> 
> > client is not related with lucene interface. It gets exception during the  
> > discovery of the other nodes. Here is the trace:
> > 
> > Exception in thread "elasticsearch[DuQuesne, Jacques][tp]-pool-1-thread-1"  
> > java.lang.NoClassDefFoundError: org/apache/lucene/util/StringHelper  
> > at  
> > org.elasticsearch.cluster.node.DiscoveryNode.(DiscoveryNode.java:40)  
> > at  
> > org.elasticsearch.cluster.node.DiscoveryNode.(DiscoveryNode.java:52)  
> > at  
> > org.elasticsearch.client.transport.TransportClientNodesService$ScheduledNodesSampler$1.run(TransportClientNodesService.java:170)  
> > at  
> > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)  
> > at  
> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)  
> > at java.lang.Thread.run(Thread.java:619)  
> > Caused by: java.lang.ClassNotFoundException:  
> > org.apache.lucene.util.StringHelper  
> > at java.net.URLClassLoader$1.run(URLClassLoader.java:200)  
> > at java.security.AccessController.doPrivileged(Native Method)  
> > at java.net.URLClassLoader.findClass(URLClassLoader.java:188)  
> > at java.lang.ClassLoader.loadClass(ClassLoader.java:306)  
> > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)  
> > at java.lang.ClassLoader.loadClass(ClassLoader.java:251)  
> > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)  
> > ... 6 more
> > 
> > Regards,
> > 
> > Sezgin Kucukkaraaslan  
> > [www.ifountain.com](http://www.ifountain.com)
> > 
> > On Thu, May 13, 2010 at 4:55 PM, Shay Banon \<[shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com)
> > 
> > > wrote:
> > 
> > > I actually have not tried to create the TransportClient to work without  
> > > Lucene classes (basically meaning that any API elasticsearch provides should  
> > > be without Lucene classes). Which APIs have you seen that have Lucene  
> > > dependencies?
> > > 
> > > 2010/5/13 sezgin küçükkaraaslan [sezo104@gmail.com](mailto:sezo104@gmail.com)
> > > 
> > > Hi,
> > > 
> > > > I have been using transport client of release 0.5.1 for some time to  
> > > > connect to Elasticsearch nodes. (I could not use node client because I have  
> > > > old lucene jars in my classpath) When I try to move to the 0.6.0 version, I  
> > > > realized that some transport client api has a dependency to the lucene jars.  
> > > > Is this still the case, or does the client really need these dependencies ?
> > > > 
> > > > Thanks in advance,
> > > > 
> > > > Sezgin Kucukkaraaslan  
> > > > [www.ifountain.com](http://www.ifountain.com)
> > > > 
> > > > On Thu, May 13, 2010 at 3:25 PM, Shay Banon \<  
> > > > [shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com)\> wrote:
> > > > 
> > > > > Hi,
> > > > > 
> > > > > Elasticsearch dependencies (when you use it on the JVM) have been  
> > > > > reduced to just lucene. Some jars are not longer needed (jgroups for  
> > > > > example) and some are jarjar'ed. Its in master, and snapshots have been  
> > > > > updated.
> > > > > 
> > > > > cheers,  
> > > > > shay.banon

---

<div class="post-metadata">

**Author:** ![sezgin\_kucukkaraasla](https://avatars.discourse-cdn.com/v4/letter/s/9de0a6/32.png) [@sezgin\_kucukkaraasla](https://discuss.elastic.co/u/sezgin_kucukkaraasla)\
**Post date:** [May 24, 2010, 6:52am UTC](https://discuss.elastic.co/t/elasticsearch-dependencies/2947/9 "2010-05-24T06:52:32Z")

</div>

That's great, I'll test it ASAP. Thanks

Sezgin Kucukkaraaslan

On Sat, May 22, 2010 at 4:57 PM, Shay Banon [shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com)wrote:

> Hey,
> 
> I just pushed a possible fix for this, so Lucene will not be used in the  
> TransportClient. The problem is that I can't verify this easily in tests,  
> since its in the same module. If you can test it, it would be great.
> 
> cheers,  
> shay.banon
> 
> On Fri, May 14, 2010 at 11:31 AM, Shay Banon \<[shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com)
> 
> > wrote:
> 
> > It might be what you derived from it, but I did not try and abstract the  
> > Transport Client from Lucene. Its problematic to try and maintain this, btw,  
> > since it was not designed to be so ...
> > 
> > 2010/5/14 sezgin küçükkaraaslan [sezo104@gmail.com](mailto:sezo104@gmail.com)
> > 
> > From the meaning of the name "TransportClient", it seems to me that the
> > 
> > > client is not related with lucene interface. It gets exception during the  
> > > discovery of the other nodes. Here is the trace:
> > > 
> > > Exception in thread "elasticsearch[DuQuesne,  
> > > Jacques][tp]-pool-1-thread-1" java.lang.NoClassDefFoundError:  
> > > org/apache/lucene/util/StringHelper  
> > > at  
> > > org.elasticsearch.cluster.node.DiscoveryNode.(DiscoveryNode.java:40)  
> > > at  
> > > org.elasticsearch.cluster.node.DiscoveryNode.(DiscoveryNode.java:52)  
> > > at  
> > > org.elasticsearch.client.transport.TransportClientNodesService$ScheduledNodesSampler$1.run(TransportClientNodesService.java:170)  
> > > at  
> > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)  
> > > at  
> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)  
> > > at java.lang.Thread.run(Thread.java:619)  
> > > Caused by: java.lang.ClassNotFoundException:  
> > > org.apache.lucene.util.StringHelper  
> > > at java.net.URLClassLoader$1.run(URLClassLoader.java:200)  
> > > at java.security.AccessController.doPrivileged(Native Method)  
> > > at java.net.URLClassLoader.findClass(URLClassLoader.java:188)  
> > > at java.lang.ClassLoader.loadClass(ClassLoader.java:306)  
> > > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)  
> > > at java.lang.ClassLoader.loadClass(ClassLoader.java:251)  
> > > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)  
> > > ... 6 more
> > > 
> > > Regards,
> > > 
> > > Sezgin Kucukkaraaslan  
> > > [www.ifountain.com](http://www.ifountain.com)
> > > 
> > > On Thu, May 13, 2010 at 4:55 PM, Shay Banon \<  
> > > [shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com)\> wrote:
> > > 
> > > > I actually have not tried to create the TransportClient to work without  
> > > > Lucene classes (basically meaning that any API elasticsearch provides should  
> > > > be without Lucene classes). Which APIs have you seen that have Lucene  
> > > > dependencies?
> > > > 
> > > > 2010/5/13 sezgin küçükkaraaslan [sezo104@gmail.com](mailto:sezo104@gmail.com)
> > > > 
> > > > Hi,
> > > > 
> > > > > I have been using transport client of release 0.5.1 for some time to  
> > > > > connect to Elasticsearch nodes. (I could not use node client because I have  
> > > > > old lucene jars in my classpath) When I try to move to the 0.6.0 version, I  
> > > > > realized that some transport client api has a dependency to the lucene jars.  
> > > > > Is this still the case, or does the client really need these dependencies ?
> > > > > 
> > > > > Thanks in advance,
> > > > > 
> > > > > Sezgin Kucukkaraaslan  
> > > > > [www.ifountain.com](http://www.ifountain.com)
> > > > > 
> > > > > On Thu, May 13, 2010 at 3:25 PM, Shay Banon \<  
> > > > > [shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com)\> wrote:
> > > > > 
> > > > > > Hi,
> > > > > > 
> > > > > > Elasticsearch dependencies (when you use it on the JVM) have been  
> > > > > > reduced to just lucene. Some jars are not longer needed (jgroups for  
> > > > > > example) and some are jarjar'ed. Its in master, and snapshots have been  
> > > > > > updated.
> > > > > > 
> > > > > > cheers,  
> > > > > > shay.banon

---

<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:** [July 6, 2017, 4:23am UTC](https://discuss.elastic.co/t/elasticsearch-dependencies/2947/10 "2017-07-06T04:23:54Z")

</div>


