HttpRequest.BodyPublisher не может найти символ

Error:(226, 34) java: cannot find symbol symbol: variable BodyPublisher location: class jdk.incubator.http.HttpRequest

private static JSONObject sendRequest(JSONObject json) throws Exception {
    HttpClient client;
    InetSocketAddress proxy = getRandomProxy();

    if (proxy == null) {
        client = HttpClient.newHttpClient();
    } else {
        client = HttpClient.newBuilder().proxy(ProxySelector.of(proxy)).build();
    }

    HttpRequest httpRequest = HttpRequest
            .newBuilder(new URI(BASE_URL))
            .header("Accept", "application/json")
            .header("Content-Type", "application/json")
            .timeout(TIMEOUT_DURATION)
            .POST(HttpRequest.BodyPublisher.fromString(json.toString()))
            .build();

    HttpResponse<String> httpResponse = client.send(httpRequest, HttpResponse.BodyHandler.asString());
    String jsonResponse = httpResponse.body();

    return new JSONObject(jsonResponse);
}

module-info.java:

module MyProject {

    requires jdk.incubator.httpclient;

}

Я пробовал это с OpenJDK 10 и Oracle JDK 10 в Linux.

У меня отлично работает в модульном коде. Не могли бы вы поделиться воспроизводимым экземпляром или более подробной информацией о том, как вы выполняете код?

Naman 17.04.2018 16:52

Я использую IntelliJ Idea 2017.3.2 с JDK 10 (readme: [hastebin.com/setuyexiqo.ini]. Например, для меня это не сработает: System.out.println(HttpRequest.BodyPublisher.fromString("Tes‌​t").hashCode());

Celsius 18.04.2018 14:35
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
2
1 215
1

Ответы 1

Вы можете проверить целевую версию байт-кода вашего модуля (Файл> Настройки> Сборка, выполнение, развертывание> Компилятор> Компилятор Java), она должна быть установлена ​​на 10. Вы также можете проверить SDK проекта и настройки уровня языка в разделах Файл> Настройки проекта> Проект и Файл> Настройки проекта> Модули.

Другие вопросы по теме