Etcd 与 Java 的 SparkJava REST API 框架集成

Etcd integration with SparkJava REST API framework for Java

我正在尝试在 SparkJava 中使用以下 etcd 框架

https://github.com/AdoHe/etcd4j

代码如下所示:

get("/hello",(request, response) -> {

String value;           


try {
    EtcdClient client = new EtcdClient(URI.create("http://127.0.0.1:2379"));
    String key = "/message";
    value = client.get(key);
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

return value;});

然而,当我尝试访问 url 时,如下所示 http://localhost:4567/hello

我收到以下错误

HTTP ERROR: 500
Problem accessing /hello. Reason:
java.lang.NoSuchFieldError: INSTANCE
Powered by Jetty:// 9.3.6.v20151106

我在这里错过了什么? etcd 在作为具有 main() 函数的独立项目使用时可以工作,但不能与 SparkJava 一起工作,是否有任何与 SparkJava 一起工作的 etcd 客户端?

我让它与以下 Etcd 客户端一起工作:

    <dependency>
        <groupId>org.mousio</groupId>
        <artifactId>etcd4j</artifactId>
        <version>2.12.0</version>
    </dependency>

代码如下:

private static String etcdGet(Request request, Response response) {
    EtcdClient client = new EtcdClient(URI.create("http://<ip-address>:2379"));
    String key = "/message";

    try {
        EtcdResponsePromise<EtcdKeysResponse> value;
        value = client.get(key).send();
        return value.get().getNode().getValue();
    } catch (Exception e) {
        System.out.println(e);
        throw new RuntimeException(e);
    }
}