我试图在spring中创建es客户端时使用带有elasticsearch的shield插件。我已将以下依赖项添加到我的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
对此有任何帮助表示赞赏。
提前致谢。
答案 0 :(得分:1)
我问Elastic.co支持来解决这一问题。 这不是对maven存储库的良好依赖。 现在maven存储库应该可以正常工作。
BR
尼古拉斯
答案 1 :(得分:-1)
去官方网站下载jar,你可以解决它