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

Wildfly 10能否在JDK 17 LTS环境运行及启动报错问题咨询

1 报错含义

你遇到的报错本质是JDK 9引入的模块化系统强封装规则导致的兼容性问题:
JDK 17默认禁止所有未命名模块(也就是传统类路径下加载的代码,你用的Wildfly 10属于这类)访问JDK内部非公开API。报错最底层的IllegalAccessError明确说明:Wildfly依赖的__redirected.__SAXParserFactory类需要访问JDK java.xml模块下的内部类com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl,但java.xml模块默认没有把这个内部包开放给未命名模块,所以XML解析工厂初始化失败,直接阻断了Wildfly的启动流程。

2 是否可以通过修改JAVA_OPTS配置实现运行

理论上可以通过添加JVM参数开放被封禁的内部包来规避报错,但需要添加的参数数量多,且仅能解决启动阶段的问题:
你可以先在standalone.sh的JAVA_OPTS中添加以下参数尝试启动:

--add-exports java.xml/com.sun.org.apache.xerces.internal.jaxp=ALL-UNNAMED \
--add-exports java.xml/com.sun.xml.internal.stream=ALL-UNNAMED \
--add-exports jdk.unsupported/sun.misc=ALL-UNNAMED \
--add-opens java.base/java.lang=ALL-UNNAMED \
--add-opens java.base/java.lang.reflect=ALL-UNNAMED

即使你凑齐所有必要的参数让Wildfly成功启动,后续部署业务应用时也大概率会遇到更多兼容性问题:比如JDK 8之后删除的API调用失败、类加载冲突、反射权限不足等,运行稳定性完全没有保障。

3 Wildfly 10是否支持JDK 17 LTS

Wildfly 10官方完全不支持JDK 17 LTS:

  • Wildfly 10是2016年发布的版本,官方认证支持的最高JDK版本为JDK 8,连JDK 11都未做过兼容性适配
  • Wildfly官方从Wildfly 26版本开始才正式提供JDK 17的兼容性支持,之前的所有版本均未针对JDK 17做测试、也不会修复相关兼容性问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 17:24:02