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

Java项目手动引入Undertow依赖运行报NoClassDefFoundError问题求助

依赖缺失解决方案

错误根因

你碰到的java.lang.NoClassDefFoundError: org/xnio/ChannelListener报错,是因为Undertow本身有强制依赖的第三方组件,你只下载了Undertow自身的Jar包,没有引入这些依赖。缺失的类属于Undertow底层依赖的Xnio IO库。

需要补充的Jar包

适配你使用的Undertow 2.2.13.Final版本,需要额外添加3个Jar包:

  • xnio-api-3.8.7.Final.jar:Xnio的核心API包,你报错缺失的类就在这个包里
  • xnio-nio-3.8.7.Final.jar:Xnio的NIO实现包,运行时必需的实现组件
  • jboss-threads-3.1.0.Final.jar:Undertow依赖的线程管理库,未添加后续也会抛出类找不到错误

验证方式

把上述3个Jar和你已有的3个Undertow Jar都加入项目的运行classpath,不需要修改现有代码,直接启动就能正常监听31端口的HTTP请求。

注意事项

依赖版本要和Undertow版本匹配,2.2.x分支的Undertow只能搭配3.8.x版本的Xnio、3.1.x版本的jboss-threads,跨大版本会出现兼容问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 01:45:06