我一直在尝试学习unirest,显然,我一直处于学习如何不使用maven进行编译的局面。以下是到目前为止我所学到的东西,因为我发现的大多数教程都是通过maven教授unirest。我不确定我还错过了什么,但这是我到目前为止得到的:

import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.JsonNode;
import com.mashape.unirest.http.Unirest;
import com.mashape.unirest.http.exceptions.UnirestException;

public class MainMethod {
    public static void main (String argsp[]) throws UnirestException {
        HttpResponse<JsonNode> jsonResponse = Unirest.get("http://www.mocky.io/v2/5bc4373c300000b8097587bd")
                .header("accept", "applicaiton/json").queryString("apiKey","123")
                .asJson();

        System.out.println(jsonResponse.getBody());
    }
}


每次我尝试运行源代码时,都会收到错误消息:


  线程“主”中的异常java.lang.NoClassDefFoundError:org / apache / http / HttpRequest


我只是试图创建一个简单的请求,以学习unirest的基础知识,但到目前为止我还没有做任何事情。

我忘了做什么吗?任何建议都将受到欢迎。谢谢。

编辑:
这是我正在关注的教程的源代码:

@Test
public void shouldReturnStatusOkay() {
    HttpResponse<JsonNode> jsonResponse
      = Unirest.get("http://www.mocky.io/v2/5a9ce37b3100004f00ab5154")
      .header("accept", "application/json").queryString("apiKey", "123")
      .asJson();

    assertNotNull(jsonResponse.getBody());
    assertEquals(200, jsonResponse.getStatus());
}


由于本教程使用的是assertNotNullassertEquals方法,我无法弄清楚它们是什么,所以我只是将其替换为印刷品,以希望我能看到它们的响应方式。

另外,我将此网站用作我认为的模拟Web服务。我对问题没有帮助,但在这里是:

https://www.mocky.io/

我收到的整个错误消息是:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/concurrent/FutureCallback
    at com.mashape.unirest.request.BaseRequest.asJson(BaseRequest.java:68)
    at MainMethod.main(MainMethod.java:10)
Caused by: java.lang.ClassNotFoundException: org.apache.http.concurrent.FutureCallback
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    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)
    ... 2 more

最佳答案

您必须将unirest所使用的所有依赖项添加为项目中的直接依赖项。
在这里看看unirest依赖树:
java - 在没有Maven的情况下建立unirest请求-LMLPHP

关于java - 在没有Maven的情况下建立unirest请求,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52811750/

10-10 09:09