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

Java 11环境下WildFly访问sun.http类的自动化配置咨询

自动化配置WildFly兼容Java 11 sun包依赖

一、用JBoss CLI自动修改模块配置

可以通过JBoss CLI的嵌入式模式直接修改系统模块,无需手动编辑文件:

  1. 编写CLI脚本(例如fix-sun-module.cli):
embed-server --std-out=echo
module modify --name=sun.jdk --add-path=sun/net/www/protocol/http
module modify --name=sun.jdk --add-path=sun/net/www/protocol/https
stop-embedded-server
  1. 在WildFly服务器上执行脚本:
$JBOSS_HOME/bin/jboss-cli.sh --file=fix-sun-module.cli

如果服务器处于运行状态,也可以直接连接执行(无需重启):

connect
module modify --name=sun.jdk --add-path=sun/net/www/protocol/http
module modify --name=sun.jdk --add-path=sun/net/www/protocol/https

二、用Docker在镜像构建时完成配置

如果采用Docker部署WildFly,可将配置逻辑集成到Dockerfile中,确保构建完成的镜像自带正确配置:

方法1:直接用sed修改模块文件(简单高效)

基于官方WildFly镜像,通过sed命令将所需<path>节点插入目标文件:

FROM wildfly:27-jdk11

# 为sun/jdk模块添加http/https路径配置
RUN sed -i '/<\/resources>/i \
                <path name="sun/net/www/protocol/http"/>\
                <path name="sun/net/www/protocol/https"/>' \
    $JBOSS_HOME/modules/system/layers/base/sun/jdk/main/modules.xml

CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0"]

方法2:通过JBoss CLI脚本配置

将之前编写的CLI脚本复制到镜像内,在构建阶段执行配置修改:

FROM wildfly:27-jdk11

# 复制CLI脚本到镜像指定目录
COPY fix-sun-module.cli /opt/jboss/wildfly/

# 执行脚本完成模块配置
RUN /opt/jboss/wildfly/bin/jboss-cli.sh --file=fix-sun-module.cli

CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0"]

注意事项

  • 选择与Java 11兼容的WildFly版本(推荐18及以上版本)
  • 生产环境需先在测试环境验证配置,再推广上线
  • 若使用域模式(Domain Mode),需调整模块文件路径,匹配域控制器的模块存储位置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 13:01:03