Java elasticsearch客户端始终为null

Dan*_*kle 8 java elasticsearch

我最近从elasticsearch 1.7切换到2.0,我注意到你设置客户端的方式已经改变了.我浏览了文档,由于某种原因客户端始终为null.我想知道我是否正确设置了它.

这是我的代码:

    Client client = null;

    try {
        client = TransportClient.builder().build().addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300));
    } catch (Exception e) {
        Logger.log(e);
    } finally {
        client.close();
        try {
            conn.close();
        } catch (SQLException e) {
            Logger.log(e);
        }
    }
Run Code Online (Sandbox Code Playgroud)

spa*_*spa 14

正如评论中所述,但更详细一点:Elasticsearch 2.0使用Guava 18.0(参见https://github.com/elastic/elasticsearch/pull/7593).所以要修复错误java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concu?rrent/Executor;,确保使用Guava 18.0作为依赖,而不是其他版本.