java transport_ES5.4中Java Transport Client 报错问题

package es;

import java.net.InetAddress;

import org.apache.logging.log4j.LogManager;

import org.apache.logging.log4j.Logger;

import org.elasticsearch.action.get.GetResponse;

import org.elasticsearch.client.transport.TransportClient;

import org.elasticsearch.common.settings.Settings;

import org.elasticsearch.common.transport.InetSocketTransportAddress;

import org.elasticsearch.transport.client.PreBuiltTransportClient;

public class esClient {

private static Logger loger = null;

public static void main(String[] args) {

try {

loger = LogManager.getLogger(esClient.class.getName());

loger.info("start..");

//设置集群名称

Settings settings1 = Settings.builder().put("cluster.name", "my-elasticsearch")

.put("client.transport.sniff", true).build();

//创建client

TransportClient client = new PreBuiltTransportClient(Settings.EMPTY)

.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("192.168.224.140"), 9300));

//搜索数据

GetResponse response = client.prepareGet("blog", "article", "1").execute().actionGet();

//输出结果

System.out.println(response.getSourceAsString());

//关闭client

client.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

start..

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/lucene/util/SetOnce

at org.elasticsearch.common.settings.Settings$Builder.(Settings.java:676)

at org.elasticsearch.common.settings.Settings$Builder.(Settings.java:671)

at org.elasticsearch.common.settings.Settings.(Settings.java:84)

at es.esClient.main(esClient.java:20)

Caused by: java.lang.ClassNotFoundException: org.apache.lucene.util.SetOnce

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

... 4 more

报错,怎么解决啊?


版权声明:本文为weixin_42512356原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。