У меня есть кодовая база , которая (по-видимому) работает под Java 9
, но не компилируется под Java 11
. Он использует jdk.incubator.httpclient
API и изменяет информацию модуля в соответствии с , этот ответ работает по большей части, но больше, чем изменился пакет.
Код, который я до сих пор исправляю, следующий:
private static JSONObject sendRequest(JSONObject json) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest httpRequest = HttpRequest.newBuilder(new URI(BASE_URL))
.header("Accept", "application/json")
.header("Content-Type", "application/json")
.timeout(TIMEOUT_DURATION)
.POST(HttpRequest.BodyProcessor.fromString(json.toString()))
.build();
HttpResponse<String> httpResponse = client.send(httpRequest, HttpResponse.BodyHandler.asString());
String jsonResponse = httpResponse.body();
return new JSONObject(jsonResponse);
}
Ошибки компиляции:
Error:(205, 94) java: cannot find symbol
symbol: method asString()
location: interface java.net.http.HttpResponse.BodyHandler
Error:(202, 34) java: cannot find symbol
symbol: variable BodyProcessor
location: class java.net.http.HttpRequest
Как я могу преобразовать код в эквивалентную Java 11
версию?