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

使用Gradle构建的EAR部署到WildFly8时出现jdk.unsupported模块缺失错误

解决WildFly 8部署EAR时jdk.unsupported:main模块找不到问题

问题场景

使用Gradle构建的EAR应用部署到WildFly 8服务器时触发模块加载失败,核心报错为:

Caused by: org.jboss.modules.ModuleNotFoundException: jdk.unsupported:main

当前使用JDK 8,且已确认版本兼容。

解决方案

1. 手动配置jdk.unsupported模块

WildFly 8默认未配置jdk.unsupported模块来映射JDK 8中的非标准API(如sun.misc包),需手动添加:

  • 在WildFly安装目录下创建路径:modules/system/layers/base/jdk/unsupported/main
  • 在该目录新建module.xml,写入以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="jdk.unsupported">
    <resources>
        <resource-root path="."/>
    </resources>
    <dependencies>
        <module name="java.base"/>
    </dependencies>
</module>

2. 调整WAR部署结构配置

如果应用代码依赖jdk.unsupported模块,可在WAR的WEB-INF目录下添加jboss-deployment-structure.xml,明确依赖关系:

<jboss-deployment-structure>
    <deployment>
        <dependencies>
            <module name="jdk.unsupported" export="true"/>
        </dependencies>
    </deployment>
</jboss-deployment-structure>

若依赖非必要,建议排查代码中是否使用了sun.misc等非标准API,替换为JDK标准API(例如用java.util.concurrent相关类替代sun.misc.Unsafe)。

3. 升级jboss-modules版本

WildFly 8默认的jboss-modules-1.3.3.Final对JDK 8模块支持存在缺陷,可替换为兼容版本:

  • 下载jboss-modules-1.4.0.Final或更高兼容版本
  • 替换WildFly根目录下的jboss-modules.jar
  • 重启WildFly服务器

验证步骤

  1. 清理WildFlystandalone/deployments目录下的部署残留文件
  2. 重新用Gradle构建EAR包,确保构建无依赖错误
  3. 重新部署应用,查看服务器日志确认问题是否解决

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 21:55:56