Построение unirest запроса без Maven - PullRequest
0 голосов
/ 15 октября 2018

Я пытался учиться unirest и, очевидно, я застрял в ситуации обучения, как скомпилировать его без использования maven.Ниже приведено то, что я выучил до сих пор, так как большинство учебных пособий, которые я нашел, преподает unirest с maven.Я не уверен, что еще я пропустил, но это то, что я получил до сих пор:

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());
    }
}

Каждый раз, когда я пытаюсь запустить исходный код, я получаю сообщение об ошибке:

Исключение в потоке "основной"пока ничего хорошего.

Я забыл что-то сделать?Любое предложение будет приветствоваться.Спасибо.

РЕДАКТИРОВАТЬ:
Это исходный код учебника, который я следую:

@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());
}

Так как учебник использует метод с именем assertNotNull и assertEquals, которые я не могу понять, что они, я просто заменил его на печать в надежде, что я посмотрю, как он реагирует.

Кроме того, я использую этот сайт какя думаю, что имитирующий веб-сервис.Я не, если это полезно для проблемы, но вот оно:

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

Ответы [ 3 ]

0 голосов
/ 15 октября 2018

Вы должны добавить все зависимости, которые больше всего используются в вашем проекте, как прямые зависимости.Взгляните на самое странное дерево зависимостей здесь: Dependency Tree Unirest

0 голосов
/ 15 октября 2018

Добавьте в вас зависимость pom.xml

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpcore</artifactId>
    <version>4.4.10</version>
</dependency>

после выполнения команды mvn install Ваша проблема будет решена.

или без Maven

скачайте файл jarhttpcore от ссылка и добавьте в свой путь к классу.

0 голосов
/ 15 октября 2018

Вы пропускаете httpcore-4.2.3.jar в вашем классе.добавь его и ошибка будет решена

...