# ElasticSearch plugins in my maven project

**URL:** https://discuss.elastic.co/t/elasticsearch-plugins-in-my-maven-project/10853
**Category:** Elasticsearch
**Created:** [February 22, 2013, 10:25am UTC](https://discuss.elastic.co/t/elasticsearch-plugins-in-my-maven-project/10853 "2013-02-22T10:25:07Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![Per\_Ekman](https://avatars.discourse-cdn.com/v4/letter/p/e9bcb4/32.png) [@Per\_Ekman](https://discuss.elastic.co/u/Per_Ekman)
#### Post date: [February 22, 2013, 10:25am UTC](https://discuss.elastic.co/t/elasticsearch-plugins-in-my-maven-project/10853/1 "2013-02-22T10:25:07Z")

</div>

Hi

I've set up a ElasticSearch cluster that has a number of plugins installed.  
Now I'm also setting up a test environment, where each JAVA test case will  
start up its own ES Node. So I've configured my Maven pom with a  
ElasticSearch dependency, and programmed my test case to use ES.

Now, if I want test using the plugins that are used in the "real"  
environment, how do I do that? For example the BigDesk or Phonetic plugin.  
I might want to graphically monitor my test during execution or test the  
search behaviour using the phonetic plugin. How can I accomplish this so  
that the plugins are used with the ES instance started by my test classes?

/Per

--  
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).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<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: [February 22, 2013, 11:05am UTC](https://discuss.elastic.co/t/elasticsearch-plugins-in-my-maven-project/10853/2 "2013-02-22T11:05:41Z")

</div>

It's simple, the test classpath must contain the es-plugin.properties,  
so a node can activate the plugin at node startup.

Check my test code for the JDBC river:

> **[GitHub - jprante/elasticsearch-jdbc: JDBC importer for Elasticsearch](https://github.com/jprante/elasticsearch-jdbc)**
>
> JDBC importer for Elasticsearch. Contribute to jprante/elasticsearch-jdbc development by creating an account on GitHub.

[https://github.com/jprante/elasticsearch-river-jdbc/blob/master/src/test/java/org/elasticsearch/river/jdbc/strategy/simple/AbstractRiverNodeTest.java](https://github.com/jprante/elasticsearch-river-jdbc/blob/master/src/test/java/org/elasticsearch/river/jdbc/strategy/simple/AbstractRiverNodeTest.java)

Jörg

Am 22.02.13 11:25, schrieb Per Ekman:

> Hi
> 
> I've set up a Elasticsearch cluster that has a number of plugins  
> installed. Now I'm also setting up a test environment, where each JAVA  
> test case will start up its own ES Node. So I've configured my Maven  
> pom with a Elasticsearch dependency, and programmed my test case to  
> use ES.
> 
> Now, if I want test using the plugins that are used in the "real"  
> environment, how do I do that? For example the BigDesk or Phonetic  
> plugin. I might want to graphically monitor my test during execution  
> or test the search behaviour using the phonetic plugin. How can I  
> accomplish this so that the plugins are used with the ES instance  
> started by my test classes?
> 
> ## /Per
> 
> 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).  
> For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

--  
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).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

### Author: ![Per\_Ekman](https://avatars.discourse-cdn.com/v4/letter/p/e9bcb4/32.png) [@Per\_Ekman](https://discuss.elastic.co/u/Per_Ekman)
#### Post date: [February 22, 2013, 11:35am UTC](https://discuss.elastic.co/t/elasticsearch-plugins-in-my-maven-project/10853/3 "2013-02-22T11:35:18Z")

</div>

Thanks. I think I understand, but in the case of for example BigHead, where  
I don't have the source, I guess I should define a dependency in maven,  
right? And then reference the plugin in es-plugin.properties?

On Fri, Feb 22, 2013 at 12:05 PM, Jörg Prante [joergprante@gmail.com](mailto:joergprante@gmail.com) wrote:

> It's simple, the test classpath must contain the es-plugin.properties, so  
> a node can activate the plugin at node startup.
> 
> Check my test code for the JDBC river:
> 
> [https://github.com/jprante/\*\*elasticsearch-river-jdbc](https://github.com/jprante/**elasticsearch-river-jdbc)[https://github.com/jprante/elasticsearch-river-jdbc](https://github.com/jprante/elasticsearch-river-jdbc)
> 
> [https://github.com/jprante/\*\*elasticsearch-river-jdbc/blob/](https://github.com/jprante/**elasticsearch-river-jdbc/blob/)\*\*  
> master/src/test/java/org/\*\*elasticsearch/river/jdbc/ **strategy/simple/**  
> AbstractRiverNodeTest.java[https://github.com/jprante/elasticsearch-river-jdbc/blob/master/src/test/java/org/elasticsearch/river/jdbc/strategy/simple/AbstractRiverNodeTest.java](https://github.com/jprante/elasticsearch-river-jdbc/blob/master/src/test/java/org/elasticsearch/river/jdbc/strategy/simple/AbstractRiverNodeTest.java)
> 
> Jörg
> 
> Am 22.02.13 11:25, schrieb Per Ekman:
> 
> Hi
> 
> > I've set up a Elasticsearch cluster that has a number of plugins  
> > installed. Now I'm also setting up a test environment, where each JAVA test  
> > case will start up its own ES Node. So I've configured my Maven pom with a  
> > Elasticsearch dependency, and programmed my test case to use ES.
> > 
> > Now, if I want test using the plugins that are used in the "real"  
> > environment, how do I do that? For example the BigDesk or Phonetic plugin.  
> > I might want to graphically monitor my test during execution or test the  
> > search behaviour using the phonetic plugin. How can I accomplish this so  
> > that the plugins are used with the ES instance started by my test classes?
> > 
> > ## /Per
> > 
> > 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](http://googlegroups.com)[elasticsearch%2Bunsubscribe@googlegroups.com](mailto:elasticsearch%2Bunsubscribe@googlegroups.com)  
> > .  
> > For more options, visit [https://groups.google.com/\*\*groups/opt\_out](https://groups.google.com/**groups/opt_out)[https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out)  
> > .
> 
> --  
> 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](http://googlegroups.com)[elasticsearch%2Bunsubscribe@googlegroups.com](mailto:elasticsearch%2Bunsubscribe@googlegroups.com)  
> .  
> For more options, visit [https://groups.google.com/\*\*groups/opt\_out](https://groups.google.com/**groups/opt_out)[https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out)  
> .

--  
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).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

### Author: ![Per\_Ekman](https://avatars.discourse-cdn.com/v4/letter/p/e9bcb4/32.png) [@Per\_Ekman](https://discuss.elastic.co/u/Per_Ekman)
#### Post date: [February 22, 2013, 1:18pm UTC](https://discuss.elastic.co/t/elasticsearch-plugins-in-my-maven-project/10853/4 "2013-02-22T13:18:00Z")

</div>

To explain a little bit more:

I'm not looking at developing my own plugin that shall be used by an  
Elasticsearch installation. My goal is to run a test environment, where  
each test case is running a Java ES Node Client, and I want this client to  
be run using a number of plugins

On Fri, Feb 22, 2013 at 12:35 PM, Per Ekman [per.ekman@gmail.com](mailto:per.ekman@gmail.com) wrote:

> Thanks. I think I understand, but in the case of for example BigHead,  
> where I don't have the source, I guess I should define a dependency in  
> maven, right? And then reference the plugin in es-plugin.properties?
> 
> On Fri, Feb 22, 2013 at 12:05 PM, Jörg Prante [joergprante@gmail.com](mailto:joergprante@gmail.com)wrote:
> 
> > It's simple, the test classpath must contain the es-plugin.properties, so  
> > a node can activate the plugin at node startup.
> > 
> > Check my test code for the JDBC river:
> > 
> > [https://github.com/jprante/\*\*elasticsearch-river-jdbc](https://github.com/jprante/**elasticsearch-river-jdbc)[https://github.com/jprante/elasticsearch-river-jdbc](https://github.com/jprante/elasticsearch-river-jdbc)
> > 
> > [https://github.com/jprante/\*\*elasticsearch-river-jdbc/blob/](https://github.com/jprante/**elasticsearch-river-jdbc/blob/)\*\*  
> > master/src/test/java/org/\*\*elasticsearch/river/jdbc/ **strategy/simple/**  
> > AbstractRiverNodeTest.java[https://github.com/jprante/elasticsearch-river-jdbc/blob/master/src/test/java/org/elasticsearch/river/jdbc/strategy/simple/AbstractRiverNodeTest.java](https://github.com/jprante/elasticsearch-river-jdbc/blob/master/src/test/java/org/elasticsearch/river/jdbc/strategy/simple/AbstractRiverNodeTest.java)
> > 
> > Jörg
> > 
> > Am 22.02.13 11:25, schrieb Per Ekman:
> > 
> > Hi
> > 
> > > I've set up a Elasticsearch cluster that has a number of plugins  
> > > installed. Now I'm also setting up a test environment, where each JAVA test  
> > > case will start up its own ES Node. So I've configured my Maven pom with a  
> > > Elasticsearch dependency, and programmed my test case to use ES.
> > > 
> > > Now, if I want test using the plugins that are used in the "real"  
> > > environment, how do I do that? For example the BigDesk or Phonetic plugin.  
> > > I might want to graphically monitor my test during execution or test the  
> > > search behaviour using the phonetic plugin. How can I accomplish this so  
> > > that the plugins are used with the ES instance started by my test classes?
> > > 
> > > ## /Per
> > > 
> > > 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](http://googlegroups.com)[elasticsearch%2Bunsubscribe@googlegroups.com](mailto:elasticsearch%2Bunsubscribe@googlegroups.com)  
> > > .  
> > > For more options, visit [https://groups.google.com/\*\*groups/opt\_out](https://groups.google.com/**groups/opt_out)[https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out)  
> > > .
> > 
> > --  
> > 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](http://googlegroups.com)[elasticsearch%2Bunsubscribe@googlegroups.com](mailto:elasticsearch%2Bunsubscribe@googlegroups.com)  
> > .  
> > For more options, visit [https://groups.google.com/\*\*groups/opt\_out](https://groups.google.com/**groups/opt_out)[https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out)  
> > .

--  
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).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

### Author: ![Per\_Ekman](https://avatars.discourse-cdn.com/v4/letter/p/e9bcb4/32.png) [@Per\_Ekman](https://discuss.elastic.co/u/Per_Ekman)
#### Post date: [February 22, 2013, 2:21pm UTC](https://discuss.elastic.co/t/elasticsearch-plugins-in-my-maven-project/10853/5 "2013-02-22T14:21:44Z")

</div>

I think I have managed to solve this. I'm able to create an index with a  
"phonetic" analyzer by just stating  
the elasticsearch-analysis-phonetic-dependency in my pom.xml.

On Fri, Feb 22, 2013 at 2:18 PM, Per Ekman [per.ekman@gmail.com](mailto:per.ekman@gmail.com) wrote:

> To explain a little bit more:
> 
> I'm not looking at developing my own plugin that shall be used by an  
> Elasticsearch installation. My goal is to run a test environment, where  
> each test case is running a Java ES Node Client, and I want this client to  
> be run using a number of plugins
> 
> On Fri, Feb 22, 2013 at 12:35 PM, Per Ekman [per.ekman@gmail.com](mailto:per.ekman@gmail.com) wrote:
> 
> > Thanks. I think I understand, but in the case of for example BigHead,  
> > where I don't have the source, I guess I should define a dependency in  
> > maven, right? And then reference the plugin in es-plugin.properties?
> > 
> > On Fri, Feb 22, 2013 at 12:05 PM, Jörg Prante [joergprante@gmail.com](mailto:joergprante@gmail.com)wrote:
> > 
> > > It's simple, the test classpath must contain the es-plugin.properties,  
> > > so a node can activate the plugin at node startup.
> > > 
> > > Check my test code for the JDBC river:
> > > 
> > > [https://github.com/jprante/\*\*elasticsearch-river-jdbc](https://github.com/jprante/**elasticsearch-river-jdbc)[https://github.com/jprante/elasticsearch-river-jdbc](https://github.com/jprante/elasticsearch-river-jdbc)
> > > 
> > > [https://github.com/jprante/\*\*elasticsearch-river-jdbc/blob/](https://github.com/jprante/**elasticsearch-river-jdbc/blob/)\*\*  
> > > master/src/test/java/org/\*\*elasticsearch/river/jdbc/ **strategy/simple/**  
> > > AbstractRiverNodeTest.java[https://github.com/jprante/elasticsearch-river-jdbc/blob/master/src/test/java/org/elasticsearch/river/jdbc/strategy/simple/AbstractRiverNodeTest.java](https://github.com/jprante/elasticsearch-river-jdbc/blob/master/src/test/java/org/elasticsearch/river/jdbc/strategy/simple/AbstractRiverNodeTest.java)
> > > 
> > > Jörg
> > > 
> > > Am 22.02.13 11:25, schrieb Per Ekman:
> > > 
> > > Hi
> > > 
> > > > I've set up a Elasticsearch cluster that has a number of plugins  
> > > > installed. Now I'm also setting up a test environment, where each JAVA test  
> > > > case will start up its own ES Node. So I've configured my Maven pom with a  
> > > > Elasticsearch dependency, and programmed my test case to use ES.
> > > > 
> > > > Now, if I want test using the plugins that are used in the "real"  
> > > > environment, how do I do that? For example the BigDesk or Phonetic plugin.  
> > > > I might want to graphically monitor my test during execution or test the  
> > > > search behaviour using the phonetic plugin. How can I accomplish this so  
> > > > that the plugins are used with the ES instance started by my test classes?
> > > > 
> > > > ## /Per
> > > > 
> > > > 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](http://googlegroups.com)[elasticsearch%2Bunsubscribe@googlegroups.com](mailto:elasticsearch%2Bunsubscribe@googlegroups.com)  
> > > > .  
> > > > For more options, visit [https://groups.google.com/\*\*groups/opt\_out](https://groups.google.com/**groups/opt_out)[https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out)  
> > > > .
> > > 
> > > --  
> > > 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](http://googlegroups.com)[elasticsearch%2Bunsubscribe@googlegroups.com](mailto:elasticsearch%2Bunsubscribe@googlegroups.com)  
> > > .  
> > > For more options, visit [https://groups.google.com/\*\*groups/opt\_out](https://groups.google.com/**groups/opt_out)[https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out)  
> > > .

--  
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).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<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: [February 22, 2013, 4:02pm UTC](https://discuss.elastic.co/t/elasticsearch-plugins-in-my-maven-project/10853/6 "2013-02-22T16:02:50Z")

</div>

Yes, it's easy as that, thanks to Maven dependency resolution. The  
Elasticsearch Java plugins are distributed as JARs via the Maven central  
repo, so adding them as a dependency in pom.xml is all you have to do to  
get their es-plugin.properties on your classpath. For other plugins, you  
may need to add other Maven repos in the pom.xml as well.

Jörg

Am 22.02.13 15:21, schrieb Per Ekman:

> I think I have managed to solve this. I'm able to create an index with  
> a "phonetic" analyzer by just stating  
> the elasticsearch-analysis-phonetic-dependency in my pom.xml.

--  
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).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<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, 2:50am UTC](https://discuss.elastic.co/t/elasticsearch-plugins-in-my-maven-project/10853/7 "2017-07-06T02:50:03Z")

</div>


