我在从 HttpRequest JavaDoc 编译简单的阻塞 GET 示例时遇到问题:
package org.example;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import static java.net.http.HttpRequest.noBody;
import static java.net.http.HttpResponse.asString;
public class Http2 {
public static void main(String[] args) throws URISyntaxException, IOException, InterruptedException {
HttpResponse response = HttpRequest
.create(new URI("http://www.infoq.com"))
.body(noBody())
.GET().response();
int responseCode = response.statusCode();
String responseBody = response.body(asString());
System.out.println(responseBody);
}
}
使用JDK package java.net.http does not exist9 编译时出现错误:
{ jdk9 } » /cygdrive/c/Program\ Files/Java/jdk-9/bin/javac -d out/production -modulesourcepath org.example.module1/src/ -m org.example.module1
org.example.module1\src\org.example.module1\org\example\Http2.java:6: 错误:包 java.net.http 不存在
导入 java.net.http.HttpRequest;
^
org.example.module1\src\org.example.module1\org\example\Http2.java:7: 错误:包 java.net.http 不存在
导入 java.net.http.HttpResponse;
^
org.example.module1\src\org.example.module1\org\example\Http2.java:9: 错误:包 java.net.http 不存在
导入静态 java.net.http.HttpRequest.noBody;
^
org.example.module1\src\org.example.module1\org\example\Http2.java:9:错误:仅从类和接口静态导入
导入静态 java.net.http.HttpRequest.noBody;
^
org.example.module1\src\org.example.module1\org\example\Http2.java:10:错误:包 java.net.http 不存在
导入静态 java.net.http.HttpResponse.asString;
^
org.example.module1\src\org.example.module1\org\example\Http2.java:10:错误:仅从类和接口静态导入
导入静态 java.net.http.HttpResponse.asString;
^
org.example.module1\src\org.example.module1\org\example\Http2.java:14:错误:找不到符号
HttpResponse 响应 = HttpRequest
^
符号:类 HttpResponse
位置:类 Http2
org.example.module1\src\org.example.module1\org\example\Http2.java:14:错误:找不到符号
HttpResponse 响应 = HttpRequest
^
符号:变量 HttpRequest
位置:类 Http2
org.example.module1\src\org.example.module1\org\example\Http2.java:16: 错误:找不到符号
.body(noBody())
^
符号:方法 noBody()
位置:类 Http2
org.example.module1\src\org.example.module1\org\example\Http2.java:19:错误:找不到符号
字符串 responseBody = response.body(asString());
^
符号:方法 asString()
位置:类 Http2
10 个错误
使用命令行和 IntelliJ 会发生同样的错误。
我的模块没有问题,因为没有 java.net.http 的类编译和运行没有任何问题。
知道发生了什么吗?