Здравствуйте
Я написал плагин импорта данных, который регистрируется как REST-сервис. Совсем недавно ввели проверку plugin-descriptor.properties.
Я создал дескриптор:
jvm = true
site = false
version = 1.0
classname = io.github.dimous.plugins.ImportPlugin
description = xxx import
java.version = 1.8
elasticsearch.version = 2.0.0-beta1-SNAPSHOT
es-plugin.properties:
plugin = io.github.dimous.plugins.ImportPlugin
При запуске в консоль выбрасываются исключения:
[2015-07-28 19:56:32,025][WARN ][plugins ] [Overmind] failed to
load plugin from [[]]
ElasticsearchException[Failed to load plugin class [io.github.dimous.plugins.ImportPlugin]]; nested: ClassNotFoundException[io.github.dimous.plugins.ImportPlugin];
at org.elasticsearch.plugins.PluginsService.loadPlugin(PluginsService.ja
va:408)
at org.elasticsearch.plugins.PluginsService.loadBundles(PluginsService.j
ava:377)
at org.elasticsearch.plugins.PluginsService.(PluginsService.java:1
08)
at org.elasticsearch.node.Node.(Node.java:147)
at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:157)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:176)
at org.elasticsearch.bootstrap.Bootstrap.main(Bootstrap.java:277)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:28)
Caused by: java.lang.ClassNotFoundException: io.github.dimous.plugins.ImportPlugin
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:810)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.elasticsearch.plugins.PluginsService.loadPlugin(PluginsService.ja
va:393)
... 7 more
Также писал в дескрипторе просто "ImportPlugin", без полного имени - та же ошибка.
До ввода файла дескриптора, плагин работал.
package io.github.dimous.plugins;
import io.github.dimous.plugins.rest.ImportRestHandler;
import org.elasticsearch.plugins.AbstractPlugin;
import org.elasticsearch.rest.RestModule;
public final class ImportPlugin extends AbstractPlugin {
@Override
public String name() {
return "import plugin";
}
//---
@Override
public String description() {
return "Сервис импорта данных из ";
}
//---
public void onModule(final RestModule rest_module) {
rest_module.addRestAction(ImportRestHandler.class);
}
}
ImportRestHandler лежит в своём пакете, расширяет BaseRestHandler. Короче, всё по канонам.
Запускаю под Win 8.1 64
Сейчас слил свежий снепшот, собрал, пересобрал и переустановил плагин, проблема сохранилась.