有人知道为什么要使用Java 11 SE https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html时,使用httpClient2在模块中创建require之后找不到包吗?
模块
module java {
requires java.net.http;
}
错误
Error:(2, 22) java: module not found: java.net.http
我也看到警告
Warning:java: module name in --add-exports option not found: java.net.http
这是模块列表
java.base@11
java.compiler@11
java.datatransfer@11
java.desktop@11
java.instrument@11
java.logging@11
java.management@11
java.management.rmi@11
java.naming@11
java.net.http@11
java.prefs@11
java.rmi@11
java.scripting@11
java.se@11
java.security.jgss@11
java.security.sasl@11
java.smartcardio@11
java.sql@11
java.sql.rowset@11
java.transaction.xa@11
java.xml@11
java.xml.crypto@11
jdk.accessibility@11
jdk.aot@11
jdk.attach@11
jdk.charsets@11
jdk.compiler@11
jdk.crypto.cryptoki@11
jdk.crypto.ec@11
jdk.dynalink@11
jdk.editpad@11
jdk.hotspot.agent@11
jdk.httpserver@11
jdk.internal.ed@11
jdk.internal.jvmstat@11
jdk.internal.le@11
jdk.internal.opt@11
jdk.internal.vm.ci@11
jdk.internal.vm.compiler@11
jdk.internal.vm.compiler.management@11
jdk.jartool@11
jdk.javadoc@11
jdk.jcmd@11
jdk.jconsole@11
jdk.jdeps@11
jdk.jdi@11
jdk.jdwp.agent@11
jdk.jfr@11
jdk.jlink@11
jdk.jshell@11
jdk.jsobject@11
jdk.jstatd@11
jdk.localedata@11
jdk.management@11
jdk.management.agent@11
jdk.management.jfr@11
jdk.naming.dns@11
jdk.naming.rmi@11
jdk.net@11
jdk.pack@11
jdk.rmic@11
jdk.scripting.nashorn@11
jdk.scripting.nashorn.shell@11
jdk.sctp@11
jdk.security.auth@11
jdk.security.jgss@11
jdk.unsupported@11
jdk.unsupported.desktop@11
jdk.xml.dom@11
jdk.zipfs@11
似乎在那里,我真的感到困惑。也许是Intellij问题?
解决方案:这是一个Intelllij问题。正确配置了最新版本,效果很好!
答案 0 :(得分:1)
在控制台中使用java --list-modules
,您可以看到所有模块。检查java.net.http是否存在(在java11中应该存在)
答案 1 :(得分:1)
可能是类名是混淆的根源:HttpClient2 There is no class with this name in this package, but HttpClient