1

我在 spring 中创建 es 客户端时尝试将 shield 插件与 elasticsearch 一起使用。我已将以下依赖项添加到我的 pom.xml

<dependency>
<groupId>org.elasticsearch.plugin</groupId>
<artifactId>shield</artifactId>
<version>2.4.0</version>
</dependency>

我正在以下列方式创建 bean:

@Override
protected TransportClient createInstance() throws Exception
{
    TransportClient client = null;
    String userpass = this.username+":"+this.password;
    client = TransportClient.builder()
    .addPlugin(ShieldPlugin.class)
    .settings(Settings.builder()
        .put("shield.user", userpass)
        .build()).build()
    .addTransportAddress(toAddress());
    return client;
}

但是当创建 bean 时,它会出现以下错误。

java.lang.ClassNotFoundException: org.elasticsearch.shield.ShieldPlugin
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
    ... 116 more

对此的任何帮助表示赞赏。

提前致谢。

4

2 回答 2

1

我请求 Elastic.co 支持来解决这个问题。这不是对 Maven 存储库的良好依赖。现在 Maven 存储库应该可以正常工作了。

BR

尼古拉斯

于 2016-12-07T09:03:21.083 回答
-1

去官网下载jar,即可解决

在此处输入链接描述

于 2017-07-14T09:16:30.883 回答