# Why does the TransportClient depend on Lucene core?

**URL:** <https://discuss.elastic.co/t/why-does-the-transportclient-depend-on-lucene-core/18367>\
**Category:** Elasticsearch\
**Created:** [June 27, 2014, 11:32am UTC](https://discuss.elastic.co/t/why-does-the-transportclient-depend-on-lucene-core/18367 "2014-06-27T11:32:51Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jeroen\_Reijn](https://avatars.discourse-cdn.com/v4/letter/j/b3f665/32.png) [@Jeroen\_Reijn](https://discuss.elastic.co/u/Jeroen_Reijn)\
**Post date:** [June 27, 2014, 11:32am UTC](https://discuss.elastic.co/t/why-does-the-transportclient-depend-on-lucene-core/18367/1 "2014-06-27T11:32:51Z")

</div>

Hi all,

while trying to use the TransportClient to connect to a remote  
elasticsearch cluster in a project that already contains Lucene libraries  
it fails to create a client connection with the following error.

[INFO] [talledLocalContainer] Jun 27, 2014 12:43:53 PM org.apache.catalina.  
core.StandardContext loadOnStartup  
[INFO] [talledLocalContainer] SEVERE: Servlet /app threw load() exception  
[INFO] [talledLocalContainer] at org.elasticsearch.Version.(Version.  
java:119)  
[INFO] [talledLocalContainer] at org.elasticsearch.client.transport.  
TransportClient.(TransportClient.java:169)  
[INFO] [talledLocalContainer] at org.elasticsearch.client.transport.  
TransportClient.(TransportClient.java:125)

Caused by: java.lang.NoSuchFieldError: LUCENE\_41

I guess this has to do with the assignment of

Version version = Version.CURRENT;

Is there a particular reason why the transport client depends on the Lucene  
core library which contains the versions?

Is there a way I can work around this besides not having the old lucene  
libraries in my classpath?

Kind regards,

Jeroen

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/e29b3445-bef2-440c-b439-65a9a69a8291%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/e29b3445-bef2-440c-b439-65a9a69a8291%40googlegroups.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<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:** [June 27, 2014, 12:38pm UTC](https://discuss.elastic.co/t/why-does-the-transportclient-depend-on-lucene-core/18367/2 "2014-06-27T12:38:04Z")

</div>

The TransportClient is part of the full elasticsearch distribution.  
We don't have another official client for that.

If you really need to have another Lucene version in your class path, I'm afraid you need to use HTTP REST Layer and not Transport layer.

May be you should look at JEST in that case? [http://www.elasticsearch.org/guide/en/elasticsearch/client/community/current/clients.html#community-java](http://www.elasticsearch.org/guide/en/elasticsearch/client/community/current/clients.html#community-java)

--  
David Pilato | Technical Advocate | [Elasticsearch.com](http://Elasticsearch.com)  
@dadoonet | @elasticsearchfr

Le 27 juin 2014 à 13:32:55, Jeroen Reijn ([j.reijn@1hippo.com](mailto:j.reijn@1hippo.com)) a écrit:

Hi all,

while trying to use the TransportClient to connect to a remote elasticsearch cluster in a project that already contains Lucene libraries it fails to create a client connection with the following error.

[INFO] [talledLocalContainer] Jun 27, 2014 12:43:53 PM org.apache.catalina.core.StandardContext loadOnStartup  
[INFO] [talledLocalContainer] SEVERE: Servlet /app threw load() exception  
[INFO] [talledLocalContainer] at org.elasticsearch.Version.(Version.java:119)  
[INFO] [talledLocalContainer] at org.elasticsearch.client.transport.TransportClient.(TransportClient.java:169)  
[INFO] [talledLocalContainer] at org.elasticsearch.client.transport.TransportClient.(TransportClient.java:125)

Caused by: java.lang.NoSuchFieldError: LUCENE\_41

I guess this has to do with the assignment of

Version version = Version.CURRENT;

Is there a particular reason why the transport client depends on the Lucene core library which contains the versions?

Is there a way I can work around this besides not having the old lucene libraries in my classpath?

Kind regards,

## Jeroen

You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/e29b3445-bef2-440c-b439-65a9a69a8291%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/e29b3445-bef2-440c-b439-65a9a69a8291%40googlegroups.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/etPan.53ad65ad.2eb141f2.b75f%40MacBook-Air-de-David.local](https://groups.google.com/d/msgid/elasticsearch/etPan.53ad65ad.2eb141f2.b75f%40MacBook-Air-de-David.local).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<div class="post-metadata">

**Author:** ![Jeroen\_Reijn](https://avatars.discourse-cdn.com/v4/letter/j/b3f665/32.png) [@Jeroen\_Reijn](https://discuss.elastic.co/u/Jeroen_Reijn)\
**Post date:** [June 27, 2014, 9:42pm UTC](https://discuss.elastic.co/t/why-does-the-transportclient-depend-on-lucene-core/18367/3 "2014-06-27T21:42:59Z")

</div>

Thank you David. I wanted to try to stay as close to the elasticsearch  
stack as possible. I've found a different (less nice) way of achieve the  
same end result.

Jeroen

On Friday, June 27, 2014 2:38:20 PM UTC+2, David Pilato wrote:

> The TransportClient is part of the full elasticsearch distribution.  
> We don't have another official client for that.
> 
> If you really need to have another Lucene version in your class path, I'm  
> afraid you need to use HTTP REST Layer and not Transport layer.
> 
> May be you should look at JEST in that case?  
> [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/guide/en/elasticsearch/client/community/current/clients.html#community-java)
> 
> --  
> _David Pilato_ | _Technical Advocate_ | _[Elasticsearch.com](http://Elasticsearch.com)_  
> @dadoonet [https://twitter.com/dadoonet](https://twitter.com/dadoonet) | @elasticsearchfr  
> [https://twitter.com/elasticsearchfr](https://twitter.com/elasticsearchfr)
> 
> Le 27 juin 2014 à 13:32:55, Jeroen Reijn ([j.r...@1hippo.com](mailto:j.r...@1hippo.com) \<javascript:\>)  
> a écrit:
> 
> Hi all,
> 
> while trying to use the TransportClient to connect to a remote  
> elasticsearch cluster in a project that already contains Lucene libraries  
> it fails to create a client connection with the following error.
> 
> [INFO] [talledLocalContainer] Jun 27, 2014 12:43:53 PM org.apache.catalina  
> .core.StandardContext loadOnStartup  
> [INFO] [talledLocalContainer] SEVERE: Servlet /app threw load() exception  
> [INFO] [talledLocalContainer] at org.elasticsearch.Version.(  
> Version.java:119)  
> [INFO] [talledLocalContainer] at org.elasticsearch.client.transport.  
> TransportClient.(TransportClient.java:169)  
> [INFO] [talledLocalContainer] at org.elasticsearch.client.transport.  
> TransportClient.(TransportClient.java:125)
> 
> Caused by: java.lang.NoSuchFieldError: LUCENE\_41
> 
> I guess this has to do with the assignment of
> 
> Version version = Version.CURRENT;
> 
> Is there a particular reason why the transport client depends on the  
> Lucene core library which contains the versions?
> 
> Is there a way I can work around this besides not having the old lucene  
> libraries in my classpath?
> 
> Kind regards,
> 
> ## Jeroen
> 
> You received this message because you are subscribed to the Google Groups  
> "elasticsearch" group.  
> To unsubscribe from this group and stop receiving emails from it, send an  
> email to [elasticsearc...@googlegroups.com](mailto:elasticsearc...@googlegroups.com) \<javascript:\>.  
> To view this discussion on the web visit  
> [https://groups.google.com/d/msgid/elasticsearch/e29b3445-bef2-440c-b439-65a9a69a8291%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/e29b3445-bef2-440c-b439-65a9a69a8291%40googlegroups.com)  
> [https://groups.google.com/d/msgid/elasticsearch/e29b3445-bef2-440c-b439-65a9a69a8291%40googlegroups.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/e29b3445-bef2-440c-b439-65a9a69a8291%40googlegroups.com?utm_medium=email&utm_source=footer)  
> .  
> For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/7a9d0cc9-ef2d-4962-81bb-f4d6875f5936%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/7a9d0cc9-ef2d-4962-81bb-f4d6875f5936%40googlegroups.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<div class="post-metadata">

**Author:** ![Ming\_Fang](https://avatars.discourse-cdn.com/v4/letter/m/c2a13f/32.png) [@Ming\_Fang](https://discuss.elastic.co/u/Ming_Fang)\
**Post date:** [July 11, 2014, 3:30pm UTC](https://discuss.elastic.co/t/why-does-the-transportclient-depend-on-lucene-core/18367/4 "2014-07-11T15:30:34Z")

</div>

Are there any plans to release a client only Maven artifact?  
It is very strange for a client application to include the entire  
Elasticsearch server.

On Friday, June 27, 2014 8:38:20 AM UTC-4, David Pilato wrote:

> The TransportClient is part of the full elasticsearch distribution.  
> We don't have another official client for that.
> 
> If you really need to have another Lucene version in your class path, I'm  
> afraid you need to use HTTP REST Layer and not Transport layer.
> 
> May be you should look at JEST in that case?  
> [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/guide/en/elasticsearch/client/community/current/clients.html#community-java)
> 
> --  
> _David Pilato_ | _Technical Advocate_ | _[Elasticsearch.com](http://Elasticsearch.com)_  
> @dadoonet [https://twitter.com/dadoonet](https://twitter.com/dadoonet) | @elasticsearchfr  
> [https://twitter.com/elasticsearchfr](https://twitter.com/elasticsearchfr)
> 
> Le 27 juin 2014 à 13:32:55, Jeroen Reijn ([j.r...@1hippo.com](mailto:j.r...@1hippo.com) \<javascript:\>)  
> a écrit:
> 
> Hi all,
> 
> while trying to use the TransportClient to connect to a remote  
> elasticsearch cluster in a project that already contains Lucene libraries  
> it fails to create a client connection with the following error.
> 
> [INFO] [talledLocalContainer] Jun 27, 2014 12:43:53 PM org.apache.catalina  
> .core.StandardContext loadOnStartup  
> [INFO] [talledLocalContainer] SEVERE: Servlet /app threw load() exception  
> [INFO] [talledLocalContainer] at org.elasticsearch.Version.(  
> Version.java:119)  
> [INFO] [talledLocalContainer] at org.elasticsearch.client.transport.  
> TransportClient.(TransportClient.java:169)  
> [INFO] [talledLocalContainer] at org.elasticsearch.client.transport.  
> TransportClient.(TransportClient.java:125)
> 
> Caused by: java.lang.NoSuchFieldError: LUCENE\_41
> 
> I guess this has to do with the assignment of
> 
> Version version = Version.CURRENT;
> 
> Is there a particular reason why the transport client depends on the  
> Lucene core library which contains the versions?
> 
> Is there a way I can work around this besides not having the old lucene  
> libraries in my classpath?
> 
> Kind regards,
> 
> ## Jeroen
> 
> You received this message because you are subscribed to the Google Groups  
> "elasticsearch" group.  
> To unsubscribe from this group and stop receiving emails from it, send an  
> email to [elasticsearc...@googlegroups.com](mailto:elasticsearc...@googlegroups.com) \<javascript:\>.  
> To view this discussion on the web visit  
> [https://groups.google.com/d/msgid/elasticsearch/e29b3445-bef2-440c-b439-65a9a69a8291%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/e29b3445-bef2-440c-b439-65a9a69a8291%40googlegroups.com)  
> [https://groups.google.com/d/msgid/elasticsearch/e29b3445-bef2-440c-b439-65a9a69a8291%40googlegroups.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/e29b3445-bef2-440c-b439-65a9a69a8291%40googlegroups.com?utm_medium=email&utm_source=footer)  
> .  
> For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/8f6d868c-69e4-4fcc-8424-13cb5e30eb78%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/8f6d868c-69e4-4fcc-8424-13cb5e30eb78%40googlegroups.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<div class="post-metadata">

**Author:** ![jprante](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jprante/32/44941_2.png) [@jprante](https://discuss.elastic.co/u/jprante)\
**Post date:** [July 11, 2014, 4:07pm UTC](https://discuss.elastic.co/t/why-does-the-transportclient-depend-on-lucene-core/18367/5 "2014-07-11T16:07:53Z")

</div>

I'd like to release such a TransportClient, as part of a modularization of  
the 1.2.1 (probably 1.3) codebase. But there is no ETA.

I plan to release three flavors of a modularized TransportClient, an ingest  
client that can only write documents to a cluster (depending on Jackson  
JSON and Google Guava), a search client that can submit queries (this will  
require at least the Lucene query builder classes) and an admin client that  
can also execute control commands.

Jörg

On Fri, Jul 11, 2014 at 5:30 PM, Ming Fang [minggfang@gmail.com](mailto:minggfang@gmail.com) wrote:

> Are there any plans to release a client only Maven artifact?  
> It is very strange for a client application to include the entire  
> Elasticsearch server.
> 
> On Friday, June 27, 2014 8:38:20 AM UTC-4, David Pilato wrote:
> 
> > The TransportClient is part of the full elasticsearch distribution.  
> > We don't have another official client for that.
> > 
> > If you really need to have another Lucene version in your class path, I'm  
> > afraid you need to use HTTP REST Layer and not Transport layer.
> > 
> > May be you should look at JEST in that case? [http://www](http://www).  
> > [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://elasticsearch.org/guide/en/elasticsearch/client/)  
> > community/current/clients.html#community-java
> > 
> > --  
> > _David Pilato_ | _Technical Advocate_ | _[Elasticsearch.com](http://Elasticsearch.com)_  
> > @dadoonet [https://twitter.com/dadoonet](https://twitter.com/dadoonet) | @elasticsearchfr  
> > [https://twitter.com/elasticsearchfr](https://twitter.com/elasticsearchfr)
> > 
> > Le 27 juin 2014 à 13:32:55, Jeroen Reijn ([j.r...@1hippo.com](mailto:j.r...@1hippo.com)) a écrit:
> > 
> > Hi all,
> > 
> > while trying to use the TransportClient to connect to a remote  
> > elasticsearch cluster in a project that already contains Lucene libraries  
> > it fails to create a client connection with the following error.
> > 
> > [INFO] [talledLocalContainer] Jun 27, 2014 12:43:53 PM org.apache.  
> > catalina.core.StandardContext loadOnStartup  
> > [INFO] [talledLocalContainer] SEVERE: Servlet /app threw load() exception  
> > [INFO] [talledLocalContainer] at org.elasticsearch.Version.(  
> > Version.java:119)  
> > [INFO] [talledLocalContainer] at org.elasticsearch.client.transport.  
> > TransportClient.(TransportClient.java:169)  
> > [INFO] [talledLocalContainer] at org.elasticsearch.client.transport.  
> > TransportClient.(TransportClient.java:125)
> > 
> > Caused by: java.lang.NoSuchFieldError: LUCENE\_41
> > 
> > I guess this has to do with the assignment of
> > 
> > Version version = Version.CURRENT;
> > 
> > Is there a particular reason why the transport client depends on the  
> > Lucene core library which contains the versions?
> > 
> > Is there a way I can work around this besides not having the old lucene  
> > libraries in my classpath?
> > 
> > Kind regards,
> > 
> > ## Jeroen
> > 
> > You received this message because you are subscribed to the Google Groups  
> > "elasticsearch" group.  
> > To unsubscribe from this group and stop receiving emails from it, send an  
> > email to [elasticsearc...@googlegroups.com](mailto:elasticsearc...@googlegroups.com).
> > 
> > To view this discussion on the web visit [https://groups.google.com/d/](https://groups.google.com/d/)  
> > msgid/elasticsearch/e29b3445-bef2-440c-b439-65a9a69a8291%  
> > [40googlegroups.com](http://40googlegroups.com)  
> > [https://groups.google.com/d/msgid/elasticsearch/e29b3445-bef2-440c-b439-65a9a69a8291%40googlegroups.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/e29b3445-bef2-440c-b439-65a9a69a8291%40googlegroups.com?utm_medium=email&utm_source=footer)  
> > .  
> > For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).
> > 
> > --  
> > You received this message because you are subscribed to the Google Groups  
> > "elasticsearch" group.  
> > To unsubscribe from this group and stop receiving emails from it, send an  
> > email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> > To view this discussion on the web visit  
> > [https://groups.google.com/d/msgid/elasticsearch/8f6d868c-69e4-4fcc-8424-13cb5e30eb78%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/8f6d868c-69e4-4fcc-8424-13cb5e30eb78%40googlegroups.com)  
> > [https://groups.google.com/d/msgid/elasticsearch/8f6d868c-69e4-4fcc-8424-13cb5e30eb78%40googlegroups.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/8f6d868c-69e4-4fcc-8424-13cb5e30eb78%40googlegroups.com?utm_medium=email&utm_source=footer)  
> > .
> 
> For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/CAKdsXoE41shRm-hcKQ6ES3UkNaTQ76Kyzz%2Bqs%2BX9tfmzxCzuTw%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoE41shRm-hcKQ6ES3UkNaTQ76Kyzz%2Bqs%2BX9tfmzxCzuTw%40mail.gmail.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<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, 1:16am UTC](https://discuss.elastic.co/t/why-does-the-transportclient-depend-on-lucene-core/18367/6 "2017-07-06T01:16:29Z")

</div>


