java:找不到模块:java.net.http

java: module not found: java.net.http

知道为什么使用 java 11 SE https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html 当我使用 httpClient2 时,在模块中提出要求后找不到包吗?

模块

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 问题。使用最新版本正确配置效果很好!

在您的控制台中使用 java --list-modules,您可以看到所有模块。检查 java.net.http 是否存在(在 java11 中应该存在)

可能是class名字是confusion:HttpClient2的由来 There is no class with this name in this package, but HttpClient