如何修复 Cloudant 客户端连接错误

How to fix Cloudant-client connection error

我使用 cloudant-client-1.0.0.jar 进行测试以检查与 cloudant 服务器的连接:

import com.cloudant.client.api.CloudantClient;
import com.cloudant.client.api.Database;

public class test {

    private CloudantClient client=null;


    public CloudantClient connect(){
        client=new CloudantClient("xxx", "xxx", "xxx");
        System.out.println("Connection successful! "+client.getBaseUri());

        return client;
    }

    public Database getDb(String dbName){

        Database db=connect().database(dbName, true);
        System.out.println("Datase avaible - "+db.getDBUri());

        return db;
    }

    public static void main(String[] args){

        new test().getDb("_user");

    } 
}

但是,系统显示错误:

线程异常 "main"

java.lang.NoClassDefFoundError: org/apache/http/client/methods/HttpEntityEnclosingRequestBase
    at connection.test.connect(test.java:13)
    at connection.test.getDb(test.java:21)
    at connection.test.main(test.java:30)

原因:

java.lang.ClassNotFoundException: org.apache.http.client.methods.HttpEntityEnclosingRequestBase
    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)
... 3 more

如何解决?

您缺少库 Apache http 客户端的依赖项。但是,您应该使用 Maven、gradle 或理解 Maven 存储库的类似构建工具。您还应该考虑升级到 2.4.1,它包含许多改进和错误修复。