我們有一個基於Java的ElasticSearch定製插件。我們現在升級到ElasticSearch 2.1.1並添加plugin-descriptor.properties文件以指向我們的插件類。無法啓動ElasticSearch - 無法找到插件類
之後,我們能夠安裝我們的自定義插件。但是當我們啓動ElasticSearch服務時,它無法找到這個自定義插件。我們驗證了該類文件存在於/ usr/share/elasticsearch/plugins /目錄下。
以下是異常堆棧跟蹤:
[2016-01-20 13:13:48,527][ERROR][bootstrap] Exception
ElasticsearchException[Could not find plugin class [com.symc.edp.elasticsearch.plugin.CustomEDPPlugins]]; nested: ClassNotFoundException[com.symc.edp.elasticsearch.plugin.CustomEDPPlugins];
at org.elasticsearch.plugins.PluginsService.loadPluginClass(PluginsService.java:382)
at org.elasticsearch.plugins.PluginsService.loadBundles(PluginsService.java:348)
at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:109)
at org.elasticsearch.node.Node.<init>(Node.java:146)
at org.elasticsearch.node.Node.<init>(Node.java:128)
at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:145)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:178)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:285)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
Caused by: java.lang.ClassNotFoundException: com.symc.edp.elasticsearch.plugin.CustomEDPPlugins
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:814)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.elasticsearch.plugins.PluginsService.loadPluginClass(PluginsService.java:380)
... 8 more
[2016-01-20 13:22:55,236][INFO ][node ] [localhost] version[2.1.1], pid[20680], build[40e2c53/2015-12-15T13:05:55Z]
[2016-01-20 13:22:55,237][INFO ][node ] [localhost] initializing ...
[2016-01-20 13:22:55,840][ERROR][bootstrap ] Exception
ElasticsearchException[Could not find plugin class [com.symc.edp.elasticsearch.plugin.CustomEDPPlugins.class]]; nested: ClassNotFoundException[com.symc.edp.elasticsearch.plugin.CustomEDPPlugins.class];
at org.elasticsearch.plugins.PluginsService.loadPluginClass(PluginsService.java:382)
at org.elasticsearch.plugins.PluginsService.loadBundles(PluginsService.java:348)
at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:109)
at org.elasticsearch.node.Node.<init>(Node.java:146)
at org.elasticsearch.node.Node.<init>(Node.java:128)
at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:145)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:178)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:285)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
Caused by: java.lang.ClassNotFoundException: com.symc.edp.elasticsearch.plugin.CustomEDPPlugins.class
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:814)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.elasticsearch.plugins.PluginsService.loadPluginClass(PluginsService.java:380)
... 8 more
以下是我們plugin-descriptor.properties的內容
description=EDP Custom Plugins
version=${project.version}
name=edpCustomPlugins
jvm=true
site=false
classname=com.symc.edp.elasticsearch.plugin.CustomEDPPlugins
java.version=${java.specification.version}
elasticsearch.version=2.1.1
是的,情況就是這樣。將它們放入一個zip文件後,服務器啓動正常。謝謝! – Sau
哎呀,我在做同樣的錯誤......謝謝! – Tanny