# Generating correct manifest.mf file when creating jar file for native elasticsearch plugin

**URL:** <https://discuss.elastic.co/t/generating-correct-manifest-mf-file-when-creating-jar-file-for-native-elasticsearch-plugin/20520>\
**Category:** Elasticsearch\
**Created:** [October 31, 2014, 4:08pm UTC](https://discuss.elastic.co/t/generating-correct-manifest-mf-file-when-creating-jar-file-for-native-elasticsearch-plugin/20520 "2014-10-31T16:08:18Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Matthew\_Hall](https://avatars.discourse-cdn.com/v4/letter/m/58956e/32.png) [@Matthew\_Hall](https://discuss.elastic.co/u/Matthew_Hall)\
**Post date:** [October 31, 2014, 4:08pm UTC](https://discuss.elastic.co/t/generating-correct-manifest-mf-file-when-creating-jar-file-for-native-elasticsearch-plugin/20520/1 "2014-10-31T16:08:18Z")

</div>

Hi sorry but I am new to java and elasticsearch. I have written a simple  
native script in intellij which compiles into classes fine. I then use the  
command line jar command to create the jar from the class files. A  
MANIFEST.MF file is generated but is always empty (apart from version and  
created by). When I put the jar into the elastic search lib directory and  
add the following lines to the elasticsearch.yml

script.native:  
MyNativeScript.type: com.elasticsearch.locationscript.CustomScriptFactory

Unfortunately I get the following errors

Initialization Failed ...

1. No implementation for  
java.util.Set\<org.elasticsearch.script.ScriptEngineService\> was bound.2)  
NoClassSettingsException[Failed to load class setting [type] with value  
[com.elasticsearch.locationscript.CustomScriptFactory]]

ClassNotFoundException[com.elasticsearch.locationscript.CustomScriptFactory]

I have tried to compile a simple helloworld jar and I found this did not  
work either UNTIL I modified the auto-generated (empty) Manifest file.

Any help or a point to a comprehensive tutorial covering how to create the  
jar correctly would be much appreciated!!

ttyl

Matt

--  
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/32f808bb-941f-4639-9a7d-dd57252d959e%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/32f808bb-941f-4639-9a7d-dd57252d959e%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:** [November 1, 2014, 4:54pm UTC](https://discuss.elastic.co/t/generating-correct-manifest-mf-file-when-creating-jar-file-for-native-elasticsearch-plugin/20520/2 "2014-11-01T16:54:34Z")

</div>

In Java, you have to add "Class-Path" to MANIFEST.MF or the class loader  
will get confused about dependencies. It depends on the class path when you  
start Elastisearch.

Also, in ES, simply adding extra jars is not the preferred method for  
extensions.

It is supposed that you put a plugin (a zip archive with jars) into the  
plugins folder and use es-plugin.properties instead of fiddling with jars  
in the lib folder. These jars are treated specially at start up time, and  
do not need "Class-Path" in MANIFEST.MF.

See also:

> **[Elasticsearch Platform — Find real-time answers at scale](https://www.elastic.co)**
>
> Power insights and outcomes with the Elasticsearch Platform and AI. See into your data and find answers that matter with enterprise solutions designed to help you build, observe, and protect. Try Elasticsearch free today.

Jörg

On Fri, Oct 31, 2014 at 5:08 PM, Matthew Hall [matthall103@gmail.com](mailto:matthall103@gmail.com) wrote:

> Hi sorry but I am new to java and elasticsearch. I have written a simple  
> native script in intellij which compiles into classes fine. I then use the  
> command line jar command to create the jar from the class files. A  
> MANIFEST.MF file is generated but is always empty (apart from version and  
> created by). When I put the jar into the Elasticsearch lib directory and  
> add the following lines to the elasticsearch.yml
> 
> script.native:  
> MyNativeScript.type: com.elasticsearch.locationscript.CustomScriptFactory
> 
> Unfortunately I get the following errors
> 
> Initialization Failed ...
> 
> 1. No implementation for  
> java.util.Set\<org.elasticsearch.script.ScriptEngineService\> was bound.2)  
> NoClassSettingsException[Failed to load class setting [type] with value  
> [com.elasticsearch.locationscript.CustomScriptFactory]]
> 
> ClassNotFoundException[com.elasticsearch.locationscript.CustomScriptFactory]
> 
> I have tried to compile a simple helloworld jar and I found this did not  
> work either UNTIL I modified the auto-generated (empty) Manifest file.
> 
> Any help or a point to a comprehensive tutorial covering how to create the  
> jar correctly would be much appreciated!!
> 
> ttyl
> 
> Matt
> 
> --  
> 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/32f808bb-941f-4639-9a7d-dd57252d959e%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/32f808bb-941f-4639-9a7d-dd57252d959e%40googlegroups.com)  
> [https://groups.google.com/d/msgid/elasticsearch/32f808bb-941f-4639-9a7d-dd57252d959e%40googlegroups.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/32f808bb-941f-4639-9a7d-dd57252d959e%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/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR\_zATesK%2Bimo5JcH%2Bw%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR_zATesK%2Bimo5JcH%2Bw%40mail.gmail.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<div class="post-metadata">

**Author:** ![Matthew\_Hall](https://avatars.discourse-cdn.com/v4/letter/m/58956e/32.png) [@Matthew\_Hall](https://discuss.elastic.co/u/Matthew_Hall)\
**Post date:** [November 3, 2014, 9:12am UTC](https://discuss.elastic.co/t/generating-correct-manifest-mf-file-when-creating-jar-file-for-native-elasticsearch-plugin/20520/3 "2014-11-03T09:12:16Z")

</div>

Hi thanks for the reply! I actually made a mistake in my post :/. I meant  
native scripts rather than plugins. I tried adding the class-path to  
Manifest.mf before but this did not work. Thanks for your suggestions  
anyway and sorry about my typo!

Matt

On Sat, Nov 1, 2014 at 4:54 PM, [joergprante@gmail.com](mailto:joergprante@gmail.com) \<[joergprante@gmail.com](mailto:joergprante@gmail.com)

> wrote:

> In Java, you have to add "Class-Path" to MANIFEST.MF or the class loader  
> will get confused about dependencies. It depends on the class path when you  
> start Elastisearch.
> 
> Also, in ES, simply adding extra jars is not the preferred method for  
> extensions.
> 
> It is supposed that you put a plugin (a zip archive with jars) into the  
> plugins folder and use es-plugin.properties instead of fiddling with jars  
> in the lib folder. These jars are treated specially at start up time, and  
> do not need "Class-Path" in MANIFEST.MF.
> 
> See also:
> 
> [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-plugins.html)
> 
> Jörg
> 
> On Fri, Oct 31, 2014 at 5:08 PM, Matthew Hall [matthall103@gmail.com](mailto:matthall103@gmail.com)  
> wrote:
> 
> > Hi sorry but I am new to java and elasticsearch. I have written a simple  
> > native script in intellij which compiles into classes fine. I then use the  
> > command line jar command to create the jar from the class files. A  
> > MANIFEST.MF file is generated but is always empty (apart from version and  
> > created by). When I put the jar into the Elasticsearch lib directory and  
> > add the following lines to the elasticsearch.yml
> > 
> > script.native:  
> > MyNativeScript.type:  
> > com.elasticsearch.locationscript.CustomScriptFactory
> > 
> > Unfortunately I get the following errors
> > 
> > Initialization Failed ...
> > 
> > 1. No implementation for  
> > java.util.Set\<org.elasticsearch.script.ScriptEngineService\> was bound.2)  
> > NoClassSettingsException[Failed to load class setting [type] with value  
> > [com.elasticsearch.locationscript.CustomScriptFactory]]
> > 
> > ClassNotFoundException[com.elasticsearch.locationscript.CustomScriptFactory]
> > 
> > I have tried to compile a simple helloworld jar and I found this did not  
> > work either UNTIL I modified the auto-generated (empty) Manifest file.
> > 
> > Any help or a point to a comprehensive tutorial covering how to create  
> > the jar correctly would be much appreciated!!
> > 
> > ttyl
> > 
> > Matt
> > 
> > --  
> > 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/32f808bb-941f-4639-9a7d-dd57252d959e%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/32f808bb-941f-4639-9a7d-dd57252d959e%40googlegroups.com)  
> > [https://groups.google.com/d/msgid/elasticsearch/32f808bb-941f-4639-9a7d-dd57252d959e%40googlegroups.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/32f808bb-941f-4639-9a7d-dd57252d959e%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 a topic in the  
> Google Groups "elasticsearch" group.  
> To unsubscribe from this topic, visit  
> [https://groups.google.com/d/topic/elasticsearch/\_nQm8Y4EE9o/unsubscribe](https://groups.google.com/d/topic/elasticsearch/_nQm8Y4EE9o/unsubscribe).  
> To unsubscribe from this group and all its topics, 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/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR\_zATesK%2Bimo5JcH%2Bw%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR_zATesK%2Bimo5JcH%2Bw%40mail.gmail.com)  
> [https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR\_zATesK%2Bimo5JcH%2Bw%40mail.gmail.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR_zATesK%2Bimo5JcH%2Bw%40mail.gmail.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/CAOAWKWFkzCUqrdoo4iO8YqZuYscV\_ex7qNzELr9H-1JruXX7Qg%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAOAWKWFkzCUqrdoo4iO8YqZuYscV_ex7qNzELr9H-1JruXX7Qg%40mail.gmail.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:** [November 3, 2014, 9:18am UTC](https://discuss.elastic.co/t/generating-correct-manifest-mf-file-when-creating-jar-file-for-native-elasticsearch-plugin/20520/4 "2014-11-03T09:18:58Z")

</div>

Yes, I understood native scripts. They should go into a plugin. Quoting the  
docs:

"Plugins are a way to enhance the basic elasticsearch functionality in a  
custom manner. They range from adding custom mapping types, custom  
analyzers (in a more built in fashion), native scripts, custom discovery  
and more."

Jörg

On Mon, Nov 3, 2014 at 10:12 AM, Matthew Hall [matthall103@gmail.com](mailto:matthall103@gmail.com) wrote:

> Hi thanks for the reply! I actually made a mistake in my post :/. I meant  
> native scripts rather than plugins. I tried adding the class-path to  
> Manifest.mf before but this did not work. Thanks for your suggestions  
> anyway and sorry about my typo!
> 
> Matt
> 
> On Sat, Nov 1, 2014 at 4:54 PM, [joergprante@gmail.com](mailto:joergprante@gmail.com) \<  
> [joergprante@gmail.com](mailto:joergprante@gmail.com)\> wrote:
> 
> > In Java, you have to add "Class-Path" to MANIFEST.MF or the class loader  
> > will get confused about dependencies. It depends on the class path when you  
> > start Elastisearch.
> > 
> > Also, in ES, simply adding extra jars is not the preferred method for  
> > extensions.
> > 
> > It is supposed that you put a plugin (a zip archive with jars) into the  
> > plugins folder and use es-plugin.properties instead of fiddling with jars  
> > in the lib folder. These jars are treated specially at start up time, and  
> > do not need "Class-Path" in MANIFEST.MF.
> > 
> > See also:
> > 
> > [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-plugins.html)
> > 
> > Jörg
> > 
> > On Fri, Oct 31, 2014 at 5:08 PM, Matthew Hall [matthall103@gmail.com](mailto:matthall103@gmail.com)  
> > wrote:
> > 
> > > Hi sorry but I am new to java and elasticsearch. I have written a  
> > > simple native script in intellij which compiles into classes fine. I then  
> > > use the command line jar command to create the jar from the class files. A  
> > > MANIFEST.MF file is generated but is always empty (apart from version and  
> > > created by). When I put the jar into the Elasticsearch lib directory and  
> > > add the following lines to the elasticsearch.yml
> > > 
> > > script.native:  
> > > MyNativeScript.type:  
> > > com.elasticsearch.locationscript.CustomScriptFactory
> > > 
> > > Unfortunately I get the following errors
> > > 
> > > Initialization Failed ...
> > > 
> > > 1. No implementation for  
> > > java.util.Set\<org.elasticsearch.script.ScriptEngineService\> was bound.2)  
> > > NoClassSettingsException[Failed to load class setting [type] with value  
> > > [com.elasticsearch.locationscript.CustomScriptFactory]]
> > > 
> > > ClassNotFoundException[com.elasticsearch.locationscript.CustomScriptFactory]
> > > 
> > > I have tried to compile a simple helloworld jar and I found this did not  
> > > work either UNTIL I modified the auto-generated (empty) Manifest file.
> > > 
> > > Any help or a point to a comprehensive tutorial covering how to create  
> > > the jar correctly would be much appreciated!!
> > > 
> > > ttyl
> > > 
> > > Matt
> > > 
> > > --  
> > > 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/32f808bb-941f-4639-9a7d-dd57252d959e%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/32f808bb-941f-4639-9a7d-dd57252d959e%40googlegroups.com)  
> > > [https://groups.google.com/d/msgid/elasticsearch/32f808bb-941f-4639-9a7d-dd57252d959e%40googlegroups.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/32f808bb-941f-4639-9a7d-dd57252d959e%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 a topic in the  
> > Google Groups "elasticsearch" group.  
> > To unsubscribe from this topic, visit  
> > [https://groups.google.com/d/topic/elasticsearch/\_nQm8Y4EE9o/unsubscribe](https://groups.google.com/d/topic/elasticsearch/_nQm8Y4EE9o/unsubscribe).  
> > To unsubscribe from this group and all its topics, 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/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR\_zATesK%2Bimo5JcH%2Bw%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR_zATesK%2Bimo5JcH%2Bw%40mail.gmail.com)  
> > [https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR\_zATesK%2Bimo5JcH%2Bw%40mail.gmail.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR_zATesK%2Bimo5JcH%2Bw%40mail.gmail.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/CAOAWKWFkzCUqrdoo4iO8YqZuYscV\_ex7qNzELr9H-1JruXX7Qg%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAOAWKWFkzCUqrdoo4iO8YqZuYscV_ex7qNzELr9H-1JruXX7Qg%40mail.gmail.com)  
> [https://groups.google.com/d/msgid/elasticsearch/CAOAWKWFkzCUqrdoo4iO8YqZuYscV\_ex7qNzELr9H-1JruXX7Qg%40mail.gmail.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/CAOAWKWFkzCUqrdoo4iO8YqZuYscV_ex7qNzELr9H-1JruXX7Qg%40mail.gmail.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/CAKdsXoHpbsqKN41b5E7ZvATxWoWaJbe7fTfOWozDpCqzYN4vDw%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoHpbsqKN41b5E7ZvATxWoWaJbe7fTfOWozDpCqzYN4vDw%40mail.gmail.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<div class="post-metadata">

**Author:** ![Matthew\_Hall](https://avatars.discourse-cdn.com/v4/letter/m/58956e/32.png) [@Matthew\_Hall](https://discuss.elastic.co/u/Matthew_Hall)\
**Post date:** [November 3, 2014, 2:49pm UTC](https://discuss.elastic.co/t/generating-correct-manifest-mf-file-when-creating-jar-file-for-native-elasticsearch-plugin/20520/5 "2014-11-03T14:49:25Z")

</div>

Thanks Jorge, unfortunately when I tried to install the plugin using the  
plugin manager I get an error:

Exception in thread "main" java.lang.NoClassDefFoundError:  
org.elasticsearch.plugins.PluginManager  
at gnu.java.lang.MainThread.run(libgcj.so.7rh)  
Caused by: java.lang.ClassNotFoundException:  
org.elasticsearch.plugins.PluginManager not found in  
gnu.gcj.runtime.SystemClassLoader{urls=,  
parent=gnu.gcj.runtime.ExtensionClassLoader{urls=, parent=null}}  
at java.net.URLClassLoader.findClass(libgcj.so.7rh)  
at java.lang.ClassLoader.loadClass(libgcj.so.7rh)  
at java.lang.ClassLoader.loadClass(libgcj.so.7rh)  
at gnu.java.lang.MainThread.run(libgcj.so.7rh)

I have also tried installing the plugin by following the instructions  
from

> **[Elasticsearch Platform — Find real-time answers at scale](https://www.elastic.co)**
>
> Power insights and outcomes with the Elasticsearch Platform and AI. See into your data and find answers that matter with enterprise solutions designed to help you build, observe, and protect. Try Elasticsearch free today.

"Registering them can either be done by settings, for example:  
script.native.my.type set to sample.MyNativeScriptFactory will register a  
script named my. Another option is in a plugin, access ScriptModule and  
call registerScript on it."

if I register the script using the settings file (elasticsearch.yml) I get  
the error (as before)

Initialization Failed ...

1. No implementation for  
java.util.Set\<org.elasticsearch.script.ScriptEngineService\> was bound.2)  
NoClassSettingsException[Failed to load class setting [type] with value  
[com.elasticsearch.locationscript.CustomScriptFactory]]

ClassNotFoundException[com.elasticsearch.locationscript.CustomScriptFactory]

I also tried the steps here as the problems seem identical

_[Redirecting to Google Groups](https://groups.google.com/a/elasticsearch.com/forum/#!msg/users/BcaI0z-LAtU/bfFIjsHP4Q8J)  
 [https://groups.google.com/a/elasticsearch.com/forum/#!msg/users/BcaI0z-LAtU/bfFIjsHP4Q8J](https://groups.google.com/a/elasticsearch.com/forum/#!msg/users/BcaI0z-LAtU/bfFIjsHP4Q8J)_

but with no luck ☹

Thanks

Matt

On Mon, Nov 3, 2014 at 9:18 AM, [joergprante@gmail.com](mailto:joergprante@gmail.com) \<[joergprante@gmail.com](mailto:joergprante@gmail.com)

> wrote:

> Yes, I understood native scripts. They should go into a plugin. Quoting  
> the docs:
> 
> "Plugins are a way to enhance the basic elasticsearch functionality in a  
> custom manner. They range from adding custom mapping types, custom  
> analyzers (in a more built in fashion), native scripts, custom discovery  
> and more."
> 
> Jörg
> 
> On Mon, Nov 3, 2014 at 10:12 AM, Matthew Hall [matthall103@gmail.com](mailto:matthall103@gmail.com)  
> wrote:
> 
> > Hi thanks for the reply! I actually made a mistake in my post :/. I meant  
> > native scripts rather than plugins. I tried adding the class-path to  
> > Manifest.mf before but this did not work. Thanks for your suggestions  
> > anyway and sorry about my typo!
> > 
> > Matt
> > 
> > On Sat, Nov 1, 2014 at 4:54 PM, [joergprante@gmail.com](mailto:joergprante@gmail.com) \<  
> > [joergprante@gmail.com](mailto:joergprante@gmail.com)\> wrote:
> > 
> > > In Java, you have to add "Class-Path" to MANIFEST.MF or the class loader  
> > > will get confused about dependencies. It depends on the class path when you  
> > > start Elastisearch.
> > > 
> > > Also, in ES, simply adding extra jars is not the preferred method for  
> > > extensions.
> > > 
> > > It is supposed that you put a plugin (a zip archive with jars) into the  
> > > plugins folder and use es-plugin.properties instead of fiddling with jars  
> > > in the lib folder. These jars are treated specially at start up time, and  
> > > do not need "Class-Path" in MANIFEST.MF.
> > > 
> > > See also:
> > > 
> > > [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-plugins.html)
> > > 
> > > Jörg
> > > 
> > > On Fri, Oct 31, 2014 at 5:08 PM, Matthew Hall [matthall103@gmail.com](mailto:matthall103@gmail.com)  
> > > wrote:
> > > 
> > > > Hi sorry but I am new to java and elasticsearch. I have written a  
> > > > simple native script in intellij which compiles into classes fine. I then  
> > > > use the command line jar command to create the jar from the class files. A  
> > > > MANIFEST.MF file is generated but is always empty (apart from version and  
> > > > created by). When I put the jar into the Elasticsearch lib directory and  
> > > > add the following lines to the elasticsearch.yml
> > > > 
> > > > script.native:  
> > > > MyNativeScript.type:  
> > > > com.elasticsearch.locationscript.CustomScriptFactory
> > > > 
> > > > Unfortunately I get the following errors
> > > > 
> > > > Initialization Failed ...
> > > > 
> > > > 1. No implementation for  
> > > > java.util.Set\<org.elasticsearch.script.ScriptEngineService\> was bound.2)  
> > > > NoClassSettingsException[Failed to load class setting [type] with value  
> > > > [com.elasticsearch.locationscript.CustomScriptFactory]]
> > > > 
> > > > ClassNotFoundException[com.elasticsearch.locationscript.CustomScriptFactory]
> > > > 
> > > > I have tried to compile a simple helloworld jar and I found this did  
> > > > not work either UNTIL I modified the auto-generated (empty) Manifest file.
> > > > 
> > > > Any help or a point to a comprehensive tutorial covering how to create  
> > > > the jar correctly would be much appreciated!!
> > > > 
> > > > ttyl
> > > > 
> > > > Matt
> > > > 
> > > > --  
> > > > 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/32f808bb-941f-4639-9a7d-dd57252d959e%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/32f808bb-941f-4639-9a7d-dd57252d959e%40googlegroups.com)  
> > > > [https://groups.google.com/d/msgid/elasticsearch/32f808bb-941f-4639-9a7d-dd57252d959e%40googlegroups.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/32f808bb-941f-4639-9a7d-dd57252d959e%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 a topic in the  
> > > Google Groups "elasticsearch" group.  
> > > To unsubscribe from this topic, visit  
> > > [https://groups.google.com/d/topic/elasticsearch/\_nQm8Y4EE9o/unsubscribe](https://groups.google.com/d/topic/elasticsearch/_nQm8Y4EE9o/unsubscribe).  
> > > To unsubscribe from this group and all its topics, 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/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR\_zATesK%2Bimo5JcH%2Bw%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR_zATesK%2Bimo5JcH%2Bw%40mail.gmail.com)  
> > > [https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR\_zATesK%2Bimo5JcH%2Bw%40mail.gmail.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR_zATesK%2Bimo5JcH%2Bw%40mail.gmail.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/CAOAWKWFkzCUqrdoo4iO8YqZuYscV\_ex7qNzELr9H-1JruXX7Qg%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAOAWKWFkzCUqrdoo4iO8YqZuYscV_ex7qNzELr9H-1JruXX7Qg%40mail.gmail.com)  
> > [https://groups.google.com/d/msgid/elasticsearch/CAOAWKWFkzCUqrdoo4iO8YqZuYscV\_ex7qNzELr9H-1JruXX7Qg%40mail.gmail.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/CAOAWKWFkzCUqrdoo4iO8YqZuYscV_ex7qNzELr9H-1JruXX7Qg%40mail.gmail.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 a topic in the  
> Google Groups "elasticsearch" group.  
> To unsubscribe from this topic, visit  
> [https://groups.google.com/d/topic/elasticsearch/\_nQm8Y4EE9o/unsubscribe](https://groups.google.com/d/topic/elasticsearch/_nQm8Y4EE9o/unsubscribe).  
> To unsubscribe from this group and all its topics, 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/CAKdsXoHpbsqKN41b5E7ZvATxWoWaJbe7fTfOWozDpCqzYN4vDw%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoHpbsqKN41b5E7ZvATxWoWaJbe7fTfOWozDpCqzYN4vDw%40mail.gmail.com)  
> [https://groups.google.com/d/msgid/elasticsearch/CAKdsXoHpbsqKN41b5E7ZvATxWoWaJbe7fTfOWozDpCqzYN4vDw%40mail.gmail.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoHpbsqKN41b5E7ZvATxWoWaJbe7fTfOWozDpCqzYN4vDw%40mail.gmail.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/CAOAWKWEit9CM7zropMyGAODpBOttTp8eyFwvoyVPFQtdGVfG2A%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAOAWKWEit9CM7zropMyGAODpBOttTp8eyFwvoyVPFQtdGVfG2A%40mail.gmail.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<div class="post-metadata">

**Author:** ![Matthew\_Hall](https://avatars.discourse-cdn.com/v4/letter/m/58956e/32.png) [@Matthew\_Hall](https://discuss.elastic.co/u/Matthew_Hall)\
**Post date:** [November 3, 2014, 2:56pm UTC](https://discuss.elastic.co/t/generating-correct-manifest-mf-file-when-creating-jar-file-for-native-elasticsearch-plugin/20520/6 "2014-11-03T14:56:53Z")

</div>

Thanks Jorg, unfortunately when I tried to install the plugin using the  
plugin manager I get an error:

Exception in thread "main" java.lang.NoClassDefFoundError:  
org.elasticsearch.plugins.PluginManager  
at gnu.java.lang.MainThread.run(libgcj.so.7rh)  
Caused by: java.lang.ClassNotFoundException:  
org.elasticsearch.plugins.PluginManager not found in  
gnu.gcj.runtime.SystemClassLoader{urls=,  
parent=gnu.gcj.runtime.ExtensionClassLoader{urls=, parent=null}}  
at java.net.URLClassLoader.findClass(libgcj.so.7rh)  
at java.lang.ClassLoader.loadClass(libgcj.so.7rh)  
at java.lang.ClassLoader.loadClass(libgcj.so.7rh)  
at gnu.java.lang.MainThread.run(libgcj.so.7rh)

I have also tried installing the plugin by following the instructions  
from

> **[Elasticsearch Platform — Find real-time answers at scale](https://www.elastic.co)**
>
> Power insights and outcomes with the Elasticsearch Platform and AI. See into your data and find answers that matter with enterprise solutions designed to help you build, observe, and protect. Try Elasticsearch free today.

"Registering them can either be done by settings, for example:  
script.native.my.type set to sample.MyNativeScriptFactory will register a  
script named my. Another option is in a plugin, access ScriptModule and  
call registerScript on it."

if I register the script using the settings file (elasticsearch.yml) I get  
the error (as before)

Initialization Failed ...

1. No implementation for  
java.util.Set\<org.elasticsearch.script.ScriptEngineService\> was bound.2)  
NoClassSettingsException[Failed to load class setting [type] with value  
[com.elasticsearch.locationscript.CustomScriptFactory]]

ClassNotFoundException[com.elasticsearch.locationscript.CustomScriptFactory]

I also tried the steps here as the problems seem identical

_[Redirecting to Google Groups](https://groups.google.com/a/elasticsearch.com/forum/#!msg/users/BcaI0z-LAtU/bfFIjsHP4Q8J)  
 [https://groups.google.com/a/elasticsearch.com/forum/#!msg/users/BcaI0z-LAtU/bfFIjsHP4Q8J](https://groups.google.com/a/elasticsearch.com/forum/#!msg/users/BcaI0z-LAtU/bfFIjsHP4Q8J)_

but with no luck ☹

Thanks

Matt

On Mon, Nov 3, 2014 at 9:18 AM, [joergprante@gmail.com](mailto:joergprante@gmail.com) \<[joergprante@gmail.com](mailto:joergprante@gmail.com)

> wrote:

> Yes, I understood native scripts. They should go into a plugin. Quoting  
> the docs:
> 
> "Plugins are a way to enhance the basic elasticsearch functionality in a  
> custom manner. They range from adding custom mapping types, custom  
> analyzers (in a more built in fashion), native scripts, custom discovery  
> and more."
> 
> Jörg
> 
> On Mon, Nov 3, 2014 at 10:12 AM, Matthew Hall [matthall103@gmail.com](mailto:matthall103@gmail.com)  
> wrote:
> 
> > Hi thanks for the reply! I actually made a mistake in my post :/. I meant  
> > native scripts rather than plugins. I tried adding the class-path to  
> > Manifest.mf before but this did not work. Thanks for your suggestions  
> > anyway and sorry about my typo!
> > 
> > Matt
> > 
> > On Sat, Nov 1, 2014 at 4:54 PM, [joergprante@gmail.com](mailto:joergprante@gmail.com) \<  
> > [joergprante@gmail.com](mailto:joergprante@gmail.com)\> wrote:
> > 
> > > In Java, you have to add "Class-Path" to MANIFEST.MF or the class loader  
> > > will get confused about dependencies. It depends on the class path when you  
> > > start Elastisearch.
> > > 
> > > Also, in ES, simply adding extra jars is not the preferred method for  
> > > extensions.
> > > 
> > > It is supposed that you put a plugin (a zip archive with jars) into the  
> > > plugins folder and use es-plugin.properties instead of fiddling with jars  
> > > in the lib folder. These jars are treated specially at start up time, and  
> > > do not need "Class-Path" in MANIFEST.MF.
> > > 
> > > See also:
> > > 
> > > [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-plugins.html)
> > > 
> > > Jörg
> > > 
> > > On Fri, Oct 31, 2014 at 5:08 PM, Matthew Hall [matthall103@gmail.com](mailto:matthall103@gmail.com)  
> > > wrote:
> > > 
> > > > Hi sorry but I am new to java and elasticsearch. I have written a  
> > > > simple native script in intellij which compiles into classes fine. I then  
> > > > use the command line jar command to create the jar from the class files. A  
> > > > MANIFEST.MF file is generated but is always empty (apart from version and  
> > > > created by). When I put the jar into the Elasticsearch lib directory and  
> > > > add the following lines to the elasticsearch.yml
> > > > 
> > > > script.native:  
> > > > MyNativeScript.type:  
> > > > com.elasticsearch.locationscript.CustomScriptFactory
> > > > 
> > > > Unfortunately I get the following errors
> > > > 
> > > > Initialization Failed ...
> > > > 
> > > > 1. No implementation for  
> > > > java.util.Set\<org.elasticsearch.script.ScriptEngineService\> was bound.2)  
> > > > NoClassSettingsException[Failed to load class setting [type] with value  
> > > > [com.elasticsearch.locationscript.CustomScriptFactory]]
> > > > 
> > > > ClassNotFoundException[com.elasticsearch.locationscript.CustomScriptFactory]
> > > > 
> > > > I have tried to compile a simple helloworld jar and I found this did  
> > > > not work either UNTIL I modified the auto-generated (empty) Manifest file.
> > > > 
> > > > Any help or a point to a comprehensive tutorial covering how to create  
> > > > the jar correctly would be much appreciated!!
> > > > 
> > > > ttyl
> > > > 
> > > > Matt
> > > > 
> > > > --  
> > > > 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/32f808bb-941f-4639-9a7d-dd57252d959e%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/32f808bb-941f-4639-9a7d-dd57252d959e%40googlegroups.com)  
> > > > [https://groups.google.com/d/msgid/elasticsearch/32f808bb-941f-4639-9a7d-dd57252d959e%40googlegroups.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/32f808bb-941f-4639-9a7d-dd57252d959e%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 a topic in the  
> > > Google Groups "elasticsearch" group.  
> > > To unsubscribe from this topic, visit  
> > > [https://groups.google.com/d/topic/elasticsearch/\_nQm8Y4EE9o/unsubscribe](https://groups.google.com/d/topic/elasticsearch/_nQm8Y4EE9o/unsubscribe).  
> > > To unsubscribe from this group and all its topics, 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/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR\_zATesK%2Bimo5JcH%2Bw%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR_zATesK%2Bimo5JcH%2Bw%40mail.gmail.com)  
> > > [https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR\_zATesK%2Bimo5JcH%2Bw%40mail.gmail.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR_zATesK%2Bimo5JcH%2Bw%40mail.gmail.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/CAOAWKWFkzCUqrdoo4iO8YqZuYscV\_ex7qNzELr9H-1JruXX7Qg%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAOAWKWFkzCUqrdoo4iO8YqZuYscV_ex7qNzELr9H-1JruXX7Qg%40mail.gmail.com)  
> > [https://groups.google.com/d/msgid/elasticsearch/CAOAWKWFkzCUqrdoo4iO8YqZuYscV\_ex7qNzELr9H-1JruXX7Qg%40mail.gmail.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/CAOAWKWFkzCUqrdoo4iO8YqZuYscV_ex7qNzELr9H-1JruXX7Qg%40mail.gmail.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 a topic in the  
> Google Groups "elasticsearch" group.  
> To unsubscribe from this topic, visit  
> [https://groups.google.com/d/topic/elasticsearch/\_nQm8Y4EE9o/unsubscribe](https://groups.google.com/d/topic/elasticsearch/_nQm8Y4EE9o/unsubscribe).  
> To unsubscribe from this group and all its topics, 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/CAKdsXoHpbsqKN41b5E7ZvATxWoWaJbe7fTfOWozDpCqzYN4vDw%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoHpbsqKN41b5E7ZvATxWoWaJbe7fTfOWozDpCqzYN4vDw%40mail.gmail.com)  
> [https://groups.google.com/d/msgid/elasticsearch/CAKdsXoHpbsqKN41b5E7ZvATxWoWaJbe7fTfOWozDpCqzYN4vDw%40mail.gmail.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoHpbsqKN41b5E7ZvATxWoWaJbe7fTfOWozDpCqzYN4vDw%40mail.gmail.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/CAOAWKWF13Ne7pp2ER0NUKT6dyFX1dPLtawsxWrzOB7d1Pi%2Bfhw%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAOAWKWF13Ne7pp2ER0NUKT6dyFX1dPLtawsxWrzOB7d1Pi%2Bfhw%40mail.gmail.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:** [November 3, 2014, 3:27pm UTC](https://discuss.elastic.co/t/generating-correct-manifest-mf-file-when-creating-jar-file-for-native-elasticsearch-plugin/20520/7 "2014-11-03T15:27:57Z")

</div>

It is hard to guess what commands you executed and what your environment is.

You have to set up a useable IDE environment. Currently:

- I recommend IntelliJ IDEA Community Edition
- Java JDK 7u65 or Java JDK 8u25
- Maven 3.2.3
- Elasticsearch 1.3 or 1.4.Beta1

With IDE support and Maven, detecting dependencies like JVM and  
Elasticsearch jars is a snap.

For example, you could fire up a simple plugin

> **[GitHub - jprante/elasticsearch-simple-action-plugin: A simple action plugin...](https://github.com/jprante/elasticsearch-simple-action-plugin)**
>
> A simple action plugin for Elasticsearch. Contribute to jprante/elasticsearch-simple-action-plugin development by creating an account on GitHub.

then change the code to add your native script, and save it as your project.

Jörg

On Mon, Nov 3, 2014 at 3:56 PM, Matthew Hall [matthall103@gmail.com](mailto:matthall103@gmail.com) wrote:

> Thanks Jorg, unfortunately when I tried to install the plugin using the  
> plugin manager I get an error:
> 
> Exception in thread "main" java.lang.NoClassDefFoundError:  
> org.elasticsearch.plugins.PluginManager  
> at gnu.java.lang.MainThread.run(libgcj.so.7rh)  
> Caused by: java.lang.ClassNotFoundException:  
> org.elasticsearch.plugins.PluginManager not found in  
> gnu.gcj.runtime.SystemClassLoader{urls=,  
> parent=gnu.gcj.runtime.ExtensionClassLoader{urls=, parent=null}}  
> at java.net.URLClassLoader.findClass(libgcj.so.7rh)  
> at java.lang.ClassLoader.loadClass(libgcj.so.7rh)  
> at java.lang.ClassLoader.loadClass(libgcj.so.7rh)  
> at gnu.java.lang.MainThread.run(libgcj.so.7rh)
> 
> I have also tried installing the plugin by following the instructions  
> from  
> [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-scripting.html)
> 
> "Registering them can either be done by settings, for example:  
> script.native.my.type set to sample.MyNativeScriptFactory will register a  
> script named my. Another option is in a plugin, access ScriptModule and  
> call registerScript on it."
> 
> if I register the script using the settings file (elasticsearch.yml) I  
> get the error (as before)
> 
> Initialization Failed ...
> 
> 1. No implementation for  
> java.util.Set\<org.elasticsearch.script.ScriptEngineService\> was bound.2)  
> NoClassSettingsException[Failed to load class setting [type] with value  
> [com.elasticsearch.locationscript.CustomScriptFactory]]
> 
> ClassNotFoundException[com.elasticsearch.locationscript.CustomScriptFactory]
> 
> I also tried the steps here as the problems seem identical
> 
> _[Redirecting to Google Groups](https://groups.google.com/a/elasticsearch.com/forum/#!msg/users/BcaI0z-LAtU/bfFIjsHP4Q8J)  
> [https://groups.google.com/a/elasticsearch.com/forum/#!msg/users/BcaI0z-LAtU/bfFIjsHP4Q8J](https://groups.google.com/a/elasticsearch.com/forum/#!msg/users/BcaI0z-LAtU/bfFIjsHP4Q8J)_
> 
> but with no luck ☹
> 
> Thanks
> 
> Matt
> 
> On Mon, Nov 3, 2014 at 9:18 AM, [joergprante@gmail.com](mailto:joergprante@gmail.com) \<  
> [joergprante@gmail.com](mailto:joergprante@gmail.com)\> wrote:
> 
> > Yes, I understood native scripts. They should go into a plugin. Quoting  
> > the docs:
> > 
> > "Plugins are a way to enhance the basic elasticsearch functionality in a  
> > custom manner. They range from adding custom mapping types, custom  
> > analyzers (in a more built in fashion), native scripts, custom discovery  
> > and more."
> > 
> > Jörg
> > 
> > On Mon, Nov 3, 2014 at 10:12 AM, Matthew Hall [matthall103@gmail.com](mailto:matthall103@gmail.com)  
> > wrote:
> > 
> > > Hi thanks for the reply! I actually made a mistake in my post :/. I  
> > > meant native scripts rather than plugins. I tried adding the class-path to  
> > > Manifest.mf before but this did not work. Thanks for your suggestions  
> > > anyway and sorry about my typo!
> > > 
> > > Matt
> > > 
> > > On Sat, Nov 1, 2014 at 4:54 PM, [joergprante@gmail.com](mailto:joergprante@gmail.com) \<  
> > > [joergprante@gmail.com](mailto:joergprante@gmail.com)\> wrote:
> > > 
> > > > In Java, you have to add "Class-Path" to MANIFEST.MF or the class  
> > > > loader will get confused about dependencies. It depends on the class path  
> > > > when you start Elastisearch.
> > > > 
> > > > Also, in ES, simply adding extra jars is not the preferred method for  
> > > > extensions.
> > > > 
> > > > It is supposed that you put a plugin (a zip archive with jars) into the  
> > > > plugins folder and use es-plugin.properties instead of fiddling with jars  
> > > > in the lib folder. These jars are treated specially at start up time, and  
> > > > do not need "Class-Path" in MANIFEST.MF.
> > > > 
> > > > See also:
> > > > 
> > > > [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-plugins.html)
> > > > 
> > > > Jörg
> > > > 
> > > > On Fri, Oct 31, 2014 at 5:08 PM, Matthew Hall [matthall103@gmail.com](mailto:matthall103@gmail.com)  
> > > > wrote:
> > > > 
> > > > > Hi sorry but I am new to java and elasticsearch. I have written a  
> > > > > simple native script in intellij which compiles into classes fine. I then  
> > > > > use the command line jar command to create the jar from the class files. A  
> > > > > MANIFEST.MF file is generated but is always empty (apart from version and  
> > > > > created by). When I put the jar into the Elasticsearch lib directory and  
> > > > > add the following lines to the elasticsearch.yml
> > > > > 
> > > > > script.native:  
> > > > > MyNativeScript.type:  
> > > > > com.elasticsearch.locationscript.CustomScriptFactory
> > > > > 
> > > > > Unfortunately I get the following errors
> > > > > 
> > > > > Initialization Failed ...
> > > > > 
> > > > > 1. No implementation for  
> > > > > java.util.Set\<org.elasticsearch.script.ScriptEngineService\> was bound.2)  
> > > > > NoClassSettingsException[Failed to load class setting [type] with value  
> > > > > [com.elasticsearch.locationscript.CustomScriptFactory]]
> > > > > 
> > > > > ClassNotFoundException[com.elasticsearch.locationscript.CustomScriptFactory]
> > > > > 
> > > > > I have tried to compile a simple helloworld jar and I found this did  
> > > > > not work either UNTIL I modified the auto-generated (empty) Manifest file.
> > > > > 
> > > > > Any help or a point to a comprehensive tutorial covering how to create  
> > > > > the jar correctly would be much appreciated!!
> > > > > 
> > > > > ttyl
> > > > > 
> > > > > Matt
> > > > > 
> > > > > --  
> > > > > 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/32f808bb-941f-4639-9a7d-dd57252d959e%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/32f808bb-941f-4639-9a7d-dd57252d959e%40googlegroups.com)  
> > > > > [https://groups.google.com/d/msgid/elasticsearch/32f808bb-941f-4639-9a7d-dd57252d959e%40googlegroups.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/32f808bb-941f-4639-9a7d-dd57252d959e%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 a topic in the  
> > > > Google Groups "elasticsearch" group.  
> > > > To unsubscribe from this topic, visit  
> > > > [https://groups.google.com/d/topic/elasticsearch/\_nQm8Y4EE9o/unsubscribe](https://groups.google.com/d/topic/elasticsearch/_nQm8Y4EE9o/unsubscribe)  
> > > > .  
> > > > To unsubscribe from this group and all its topics, 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/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR\_zATesK%2Bimo5JcH%2Bw%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR_zATesK%2Bimo5JcH%2Bw%40mail.gmail.com)  
> > > > [https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR\_zATesK%2Bimo5JcH%2Bw%40mail.gmail.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR_zATesK%2Bimo5JcH%2Bw%40mail.gmail.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/CAOAWKWFkzCUqrdoo4iO8YqZuYscV\_ex7qNzELr9H-1JruXX7Qg%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAOAWKWFkzCUqrdoo4iO8YqZuYscV_ex7qNzELr9H-1JruXX7Qg%40mail.gmail.com)  
> > > [https://groups.google.com/d/msgid/elasticsearch/CAOAWKWFkzCUqrdoo4iO8YqZuYscV\_ex7qNzELr9H-1JruXX7Qg%40mail.gmail.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/CAOAWKWFkzCUqrdoo4iO8YqZuYscV_ex7qNzELr9H-1JruXX7Qg%40mail.gmail.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 a topic in the  
> > Google Groups "elasticsearch" group.  
> > To unsubscribe from this topic, visit  
> > [https://groups.google.com/d/topic/elasticsearch/\_nQm8Y4EE9o/unsubscribe](https://groups.google.com/d/topic/elasticsearch/_nQm8Y4EE9o/unsubscribe).  
> > To unsubscribe from this group and all its topics, 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/CAKdsXoHpbsqKN41b5E7ZvATxWoWaJbe7fTfOWozDpCqzYN4vDw%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoHpbsqKN41b5E7ZvATxWoWaJbe7fTfOWozDpCqzYN4vDw%40mail.gmail.com)  
> > [https://groups.google.com/d/msgid/elasticsearch/CAKdsXoHpbsqKN41b5E7ZvATxWoWaJbe7fTfOWozDpCqzYN4vDw%40mail.gmail.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoHpbsqKN41b5E7ZvATxWoWaJbe7fTfOWozDpCqzYN4vDw%40mail.gmail.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/CAOAWKWF13Ne7pp2ER0NUKT6dyFX1dPLtawsxWrzOB7d1Pi%2Bfhw%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAOAWKWF13Ne7pp2ER0NUKT6dyFX1dPLtawsxWrzOB7d1Pi%2Bfhw%40mail.gmail.com)  
> [https://groups.google.com/d/msgid/elasticsearch/CAOAWKWF13Ne7pp2ER0NUKT6dyFX1dPLtawsxWrzOB7d1Pi%2Bfhw%40mail.gmail.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/CAOAWKWF13Ne7pp2ER0NUKT6dyFX1dPLtawsxWrzOB7d1Pi%2Bfhw%40mail.gmail.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/CAKdsXoEMsKUdX0%2B%2BRHMhFTAyH6R9GNuyrs5F8m9KAiD\_kH8Lyw%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoEMsKUdX0%2B%2BRHMhFTAyH6R9GNuyrs5F8m9KAiD_kH8Lyw%40mail.gmail.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<div class="post-metadata">

**Author:** ![Matthew\_Hall](https://avatars.discourse-cdn.com/v4/letter/m/58956e/32.png) [@Matthew\_Hall](https://discuss.elastic.co/u/Matthew_Hall)\
**Post date:** [November 3, 2014, 3:34pm UTC](https://discuss.elastic.co/t/generating-correct-manifest-mf-file-when-creating-jar-file-for-native-elasticsearch-plugin/20520/8 "2014-11-03T15:34:53Z")

</div>

I'm using IntelliJ Ultimate, in a linux environment, jdk 1.70\_71, I have  
maven and ant but haven't used them much in the past :/.

Anyway thanks for trying to help 🙂

Matt

On Mon, Nov 3, 2014 at 3:27 PM, [joergprante@gmail.com](mailto:joergprante@gmail.com) \<[joergprante@gmail.com](mailto:joergprante@gmail.com)

> wrote:

> It is hard to guess what commands you executed and what your environment  
> is.
> 
> You have to set up a useable IDE environment. Currently:
> 
> - I recommend IntelliJ IDEA Community Edition
> - Java JDK 7u65 or Java JDK 8u25
> - Maven 3.2.3
> - Elasticsearch 1.3 or 1.4.Beta1
> 
> With IDE support and Maven, detecting dependencies like JVM and  
> Elasticsearch jars is a snap.
> 
> For example, you could fire up a simple plugin
> 
> [GitHub - jprante/elasticsearch-simple-action-plugin: A simple action plugin for Elasticsearch](https://github.com/jprante/elasticsearch-simple-action-plugin)
> 
> then change the code to add your native script, and save it as your  
> project.
> 
> Jörg
> 
> On Mon, Nov 3, 2014 at 3:56 PM, Matthew Hall [matthall103@gmail.com](mailto:matthall103@gmail.com)  
> wrote:
> 
> > Thanks Jorg, unfortunately when I tried to install the plugin using the  
> > plugin manager I get an error:
> > 
> > Exception in thread "main" java.lang.NoClassDefFoundError:  
> > org.elasticsearch.plugins.PluginManager  
> > at gnu.java.lang.MainThread.run(libgcj.so.7rh)  
> > Caused by: java.lang.ClassNotFoundException:  
> > org.elasticsearch.plugins.PluginManager not found in  
> > gnu.gcj.runtime.SystemClassLoader{urls=,  
> > parent=gnu.gcj.runtime.ExtensionClassLoader{urls=, parent=null}}  
> > at java.net.URLClassLoader.findClass(libgcj.so.7rh)  
> > at java.lang.ClassLoader.loadClass(libgcj.so.7rh)  
> > at java.lang.ClassLoader.loadClass(libgcj.so.7rh)  
> > at gnu.java.lang.MainThread.run(libgcj.so.7rh)
> > 
> > I have also tried installing the plugin by following the instructions  
> > from  
> > [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-scripting.html)
> > 
> > "Registering them can either be done by settings, for example:  
> > script.native.my.type set to sample.MyNativeScriptFactory will register  
> > a script named my. Another option is in a plugin, access ScriptModule and  
> > call registerScript on it."
> > 
> > if I register the script using the settings file (elasticsearch.yml) I  
> > get the error (as before)
> > 
> > Initialization Failed ...
> > 
> > 1. No implementation for  
> > java.util.Set\<org.elasticsearch.script.ScriptEngineService\> was bound.2)  
> > NoClassSettingsException[Failed to load class setting [type] with value  
> > [com.elasticsearch.locationscript.CustomScriptFactory]]
> > 
> > ClassNotFoundException[com.elasticsearch.locationscript.CustomScriptFactory]
> > 
> > I also tried the steps here as the problems seem identical
> > 
> > _[Redirecting to Google Groups](https://groups.google.com/a/elasticsearch.com/forum/#!msg/users/BcaI0z-LAtU/bfFIjsHP4Q8J)  
> > [https://groups.google.com/a/elasticsearch.com/forum/#!msg/users/BcaI0z-LAtU/bfFIjsHP4Q8J](https://groups.google.com/a/elasticsearch.com/forum/#!msg/users/BcaI0z-LAtU/bfFIjsHP4Q8J)_
> > 
> > but with no luck ☹
> > 
> > Thanks
> > 
> > Matt
> > 
> > On Mon, Nov 3, 2014 at 9:18 AM, [joergprante@gmail.com](mailto:joergprante@gmail.com) \<  
> > [joergprante@gmail.com](mailto:joergprante@gmail.com)\> wrote:
> > 
> > > Yes, I understood native scripts. They should go into a plugin. Quoting  
> > > the docs:
> > > 
> > > "Plugins are a way to enhance the basic elasticsearch functionality in a  
> > > custom manner. They range from adding custom mapping types, custom  
> > > analyzers (in a more built in fashion), native scripts, custom discovery  
> > > and more."
> > > 
> > > Jörg
> > > 
> > > On Mon, Nov 3, 2014 at 10:12 AM, Matthew Hall [matthall103@gmail.com](mailto:matthall103@gmail.com)  
> > > wrote:
> > > 
> > > > Hi thanks for the reply! I actually made a mistake in my post :/. I  
> > > > meant native scripts rather than plugins. I tried adding the class-path to  
> > > > Manifest.mf before but this did not work. Thanks for your suggestions  
> > > > anyway and sorry about my typo!
> > > > 
> > > > Matt
> > > > 
> > > > On Sat, Nov 1, 2014 at 4:54 PM, [joergprante@gmail.com](mailto:joergprante@gmail.com) \<  
> > > > [joergprante@gmail.com](mailto:joergprante@gmail.com)\> wrote:
> > > > 
> > > > > In Java, you have to add "Class-Path" to MANIFEST.MF or the class  
> > > > > loader will get confused about dependencies. It depends on the class path  
> > > > > when you start Elastisearch.
> > > > > 
> > > > > Also, in ES, simply adding extra jars is not the preferred method for  
> > > > > extensions.
> > > > > 
> > > > > It is supposed that you put a plugin (a zip archive with jars) into  
> > > > > the plugins folder and use es-plugin.properties instead of fiddling with  
> > > > > jars in the lib folder. These jars are treated specially at start up time,  
> > > > > and do not need "Class-Path" in MANIFEST.MF.
> > > > > 
> > > > > See also:
> > > > > 
> > > > > [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-plugins.html)
> > > > > 
> > > > > Jörg
> > > > > 
> > > > > On Fri, Oct 31, 2014 at 5:08 PM, Matthew Hall [matthall103@gmail.com](mailto:matthall103@gmail.com)  
> > > > > wrote:
> > > > > 
> > > > > > Hi sorry but I am new to java and elasticsearch. I have written a  
> > > > > > simple native script in intellij which compiles into classes fine. I then  
> > > > > > use the command line jar command to create the jar from the class files. A  
> > > > > > MANIFEST.MF file is generated but is always empty (apart from version and  
> > > > > > created by). When I put the jar into the Elasticsearch lib directory and  
> > > > > > add the following lines to the elasticsearch.yml
> > > > > > 
> > > > > > script.native:  
> > > > > > MyNativeScript.type:  
> > > > > > com.elasticsearch.locationscript.CustomScriptFactory
> > > > > > 
> > > > > > Unfortunately I get the following errors
> > > > > > 
> > > > > > Initialization Failed ...
> > > > > > 
> > > > > > 1. No implementation for  
> > > > > > java.util.Set\<org.elasticsearch.script.ScriptEngineService\> was bound.2)  
> > > > > > NoClassSettingsException[Failed to load class setting [type] with value  
> > > > > > [com.elasticsearch.locationscript.CustomScriptFactory]]
> > > > > > 
> > > > > > ClassNotFoundException[com.elasticsearch.locationscript.CustomScriptFactory]
> > > > > > 
> > > > > > I have tried to compile a simple helloworld jar and I found this did  
> > > > > > not work either UNTIL I modified the auto-generated (empty) Manifest file.
> > > > > > 
> > > > > > Any help or a point to a comprehensive tutorial covering how to  
> > > > > > create the jar correctly would be much appreciated!!
> > > > > > 
> > > > > > ttyl
> > > > > > 
> > > > > > Matt
> > > > > > 
> > > > > > --  
> > > > > > 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/32f808bb-941f-4639-9a7d-dd57252d959e%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/32f808bb-941f-4639-9a7d-dd57252d959e%40googlegroups.com)  
> > > > > > [https://groups.google.com/d/msgid/elasticsearch/32f808bb-941f-4639-9a7d-dd57252d959e%40googlegroups.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/32f808bb-941f-4639-9a7d-dd57252d959e%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 a topic in the  
> > > > > Google Groups "elasticsearch" group.  
> > > > > To unsubscribe from this topic, visit  
> > > > > [https://groups.google.com/d/topic/elasticsearch/\_nQm8Y4EE9o/unsubscribe](https://groups.google.com/d/topic/elasticsearch/_nQm8Y4EE9o/unsubscribe)  
> > > > > .  
> > > > > To unsubscribe from this group and all its topics, 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/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR\_zATesK%2Bimo5JcH%2Bw%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR_zATesK%2Bimo5JcH%2Bw%40mail.gmail.com)  
> > > > > [https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR\_zATesK%2Bimo5JcH%2Bw%40mail.gmail.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGP6xYB5gHpN%2BauVRby9DKwAijqR_zATesK%2Bimo5JcH%2Bw%40mail.gmail.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/CAOAWKWFkzCUqrdoo4iO8YqZuYscV\_ex7qNzELr9H-1JruXX7Qg%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAOAWKWFkzCUqrdoo4iO8YqZuYscV_ex7qNzELr9H-1JruXX7Qg%40mail.gmail.com)  
> > > > [https://groups.google.com/d/msgid/elasticsearch/CAOAWKWFkzCUqrdoo4iO8YqZuYscV\_ex7qNzELr9H-1JruXX7Qg%40mail.gmail.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/CAOAWKWFkzCUqrdoo4iO8YqZuYscV_ex7qNzELr9H-1JruXX7Qg%40mail.gmail.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 a topic in the  
> > > Google Groups "elasticsearch" group.  
> > > To unsubscribe from this topic, visit  
> > > [https://groups.google.com/d/topic/elasticsearch/\_nQm8Y4EE9o/unsubscribe](https://groups.google.com/d/topic/elasticsearch/_nQm8Y4EE9o/unsubscribe).  
> > > To unsubscribe from this group and all its topics, 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/CAKdsXoHpbsqKN41b5E7ZvATxWoWaJbe7fTfOWozDpCqzYN4vDw%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoHpbsqKN41b5E7ZvATxWoWaJbe7fTfOWozDpCqzYN4vDw%40mail.gmail.com)  
> > > [https://groups.google.com/d/msgid/elasticsearch/CAKdsXoHpbsqKN41b5E7ZvATxWoWaJbe7fTfOWozDpCqzYN4vDw%40mail.gmail.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoHpbsqKN41b5E7ZvATxWoWaJbe7fTfOWozDpCqzYN4vDw%40mail.gmail.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/CAOAWKWF13Ne7pp2ER0NUKT6dyFX1dPLtawsxWrzOB7d1Pi%2Bfhw%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAOAWKWF13Ne7pp2ER0NUKT6dyFX1dPLtawsxWrzOB7d1Pi%2Bfhw%40mail.gmail.com)  
> > [https://groups.google.com/d/msgid/elasticsearch/CAOAWKWF13Ne7pp2ER0NUKT6dyFX1dPLtawsxWrzOB7d1Pi%2Bfhw%40mail.gmail.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/CAOAWKWF13Ne7pp2ER0NUKT6dyFX1dPLtawsxWrzOB7d1Pi%2Bfhw%40mail.gmail.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 a topic in the  
> Google Groups "elasticsearch" group.  
> To unsubscribe from this topic, visit  
> [https://groups.google.com/d/topic/elasticsearch/\_nQm8Y4EE9o/unsubscribe](https://groups.google.com/d/topic/elasticsearch/_nQm8Y4EE9o/unsubscribe).  
> To unsubscribe from this group and all its topics, 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/CAKdsXoEMsKUdX0%2B%2BRHMhFTAyH6R9GNuyrs5F8m9KAiD\_kH8Lyw%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoEMsKUdX0%2B%2BRHMhFTAyH6R9GNuyrs5F8m9KAiD_kH8Lyw%40mail.gmail.com)  
> [https://groups.google.com/d/msgid/elasticsearch/CAKdsXoEMsKUdX0%2B%2BRHMhFTAyH6R9GNuyrs5F8m9KAiD\_kH8Lyw%40mail.gmail.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoEMsKUdX0%2B%2BRHMhFTAyH6R9GNuyrs5F8m9KAiD_kH8Lyw%40mail.gmail.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/CAOAWKWE2QTBSOZ9P62JRMDnoHOP4XmuFKab8AAPu24dXn3h3uQ%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAOAWKWE2QTBSOZ9P62JRMDnoHOP4XmuFKab8AAPu24dXn3h3uQ%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, 12:52am UTC](https://discuss.elastic.co/t/generating-correct-manifest-mf-file-when-creating-jar-file-for-native-elasticsearch-plugin/20520/9 "2017-07-06T00:52:28Z")

</div>


