java - Clojure 访问需要 var 的静态内部类构建器,但在构建时映射到类错误

标签 java elasticsearch clojure elasticsearch-jest

在 Clojure 中,我想互操作使用:

JestClientFactory factory = new JestClientFactory();
factory.setHttpClientConfig(new HttpClientConfig
                    .Builder("http://localhost:9200")
                    .build());

所以我写了一些这样的代码:
 (:import (io.searchbox.client JestClientFactory)
          (io.searchbox.client.config HttpClientConfig$Builder))

 (let [factory (JestClientFactory.)
       http-client-config (-> (HttpClientConfig$Builder "http://localhost:9200")
                           (.build))])

但是在构建 jar 时出现以下错误

Expecting var, but HttpClientConfig$Builder is mapped to class io.searchbox.client.config.HttpClientConfig$Builder



任何帮助都会很棒。

最佳答案

您缺少 .后面 HttpClientConfig$Builder .您的代码基本上对类进行静态调用。您需要 new从你的例子。

(-> (HttpClientConfig$Builder. "http://localhost:9200") ; note the `.`
    (.build))

关于java - Clojure 访问需要 var 的静态内部类构建器,但在构建时映射到类错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57131549/

相关文章:

javac 根据赋值方法不同地处理 static final

java - 通过反射不断迭代字段的字段

elasticsearch - elasticsearch同义词分析器给出0个结果

elasticsearch - Elasticsearch问题,我是否应该沿2个不同的索引重复数据?不确定如何设置数据

python - Elasticsearch解析异常400

clojure - `def` vs `declare` 用于前向声明

java - 计算 jTable netbeans 中某一列中值的总和

java - 从 Java 调用 .js 文件中的 JavaScript 函数

sql - 如何让 postgres 忽略带有重复键的插入但继续

mongodb - 如何使用 congomongo 的 fetch 查询嵌套文档?