该文基于 idea 和 maven环境下实现,并记录为bug人生,如果博友们对ES感兴趣:
首先我先根据官网API编写:
第一步: 新建一个maven项目(略) ,修改pom.xml
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>6.4.0</version>
</dependency>
第二步:编写代码:
Settings settings = Settings.builder()
.put("cluster.name", "my-esLearn") //连接的集群名
.put("client.transport.ignore_cluster_name", true) //如果集群名不对,也能连接
.build();
//创建client
transportClient = new PreBuiltTransportClient(settings)
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("192.168.1.45"), 9300));
第三步: 报错
Exception in thread "main" java.lang.NoClassDefFoundError: org/elasticsearch/script/ScriptEngine
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
at java.lang.Class.getConstructor0(Class.java:3075)
at java.lang.Class.getConstructor(Class.java:1825)
at org.elasticsearch.plugins.PluginsService.loadPlugin(PluginsService.java:427)
at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:104)
at org.elasticsearch.client.transport.TransportClient.newPluginService(TransportClient.java:104)
at org.elasticsearch.client.transport.TransportClient.buildTemplate(TransportClient.java:129)
at org.elasticsearch.client.transport.TransportClient.<init>(TransportClient.java:268)
at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:128)
at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:114)
at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:104)
at com.lhy.example.bootui.template.EsDemo.init(EsDemo.java:32)
a