Java HttpRequest.BodyPublisher找不到符号
错误:(226,34)java:找不到符号 符号:变量BodyPublisher 位置:类jdk.incubator.http.HttpRequestJava HttpRequest.BodyPublisher找不到符号,java,java-10,Java,Java 10,错误:(226,34)java:找不到符号 符号:变量BodyPublisher 位置:类jdk.incubator.http.HttpRequest 我已经在Linux上使用OpenJDK 10和Oracle JDK 10进行了尝试。您可以检查模块的目标字节码版本(文件>设置>构建、执行、部署>编译器>Java编译器),它应该设置为10。 您还可以在文件>项目设置>项目和文件>项目设置>模块下检查项目SDK和语言级别设置,这些设置在模块化代码中对我来说很好。你能分享一个可复制的实例或你如何执行
我已经在Linux上使用OpenJDK 10和Oracle JDK 10进行了尝试。您可以检查模块的目标字节码版本(文件>设置>构建、执行、部署>编译器>Java编译器),它应该设置为10。
您还可以在文件>项目设置>项目和文件>项目设置>模块下检查项目SDK和语言级别设置,这些设置在模块化代码中对我来说很好。你能分享一个可复制的实例或你如何执行代码的更多细节吗?我正在使用IntelliJ Idea 2017.3.2和JDK 10(自述:[。例如,这对我不起作用:
System.out.println(HttpRequest.BodyPublisher.fromString(“Test”).hashCode();
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 MyProject {
requires jdk.incubator.httpclient;
}