You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java 11中jdk.incubator.httpclient模块缺失的编译报错问题咨询

解决Java 11 EA编译时找不到jdk.incubator.httpclient模块的问题

这个问题我之前帮同事排查过,核心原因很简单:jdk.incubator.httpclient这个孵化器模块在Java 11版本里已经完成“转正”,正式成为Java标准库的一部分了,模块名也改成了java.net.http,原来的孵化器模块名自然就不存在了。

具体原因解释

Java 9时期,HTTP/2客户端功能还处于孵化器阶段,所以需要通过--add-modules jdk.incubator.httpclient参数手动引入;但到了Java 11,这个功能已经成熟,被移入标准模块java.net.http,并且是默认会被加载的系统模块,不需要再手动添加。

分步解决方案

  • 修改代码导入路径:把所有代码里的import jdk.incubator.http.*;替换成import java.net.http.*;
  • 移除VM参数:编译和运行时删掉--add-modules jdk.incubator.httpclient这个参数,现在不需要手动引入该模块
  • 更新构建配置(如果用Maven/Gradle):
    • 如果是Maven,检查pom.xml里的模块依赖或编译参数,把涉及jdk.incubator.httpclient的配置替换为java.net.http
    • 如果是Gradle,同样更新build.gradle里的模块声明或编译选项

验证方法

你可以在Java 11环境下执行以下命令,确认标准模块的存在:

java --list-modules | grep java.net.http

执行后会输出类似java.net.http@11-ea+11的结果,说明模块已存在。

内容的提问来源于stack exchange,提问作者Naman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:07:51