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

JBoss下RestEasy Servlet集成Swagger出现依赖缺失与URI模板冲突问题

JBoss环境RestEasy集成Swagger报错解决方案

报错详情

SEVERE: Missing dependency for constructor public org.jboss.resteasy.plugins.providers.JaxrsServerFormUrlEncodedProvider(boolean) at parameter index 0
SEVERE: Missing dependency for constructor public org.jboss.resteasy.core.AsynchronousDispatcher(org.jboss.resteasy.spi.ResteasyProviderFactory) at parameter index 0
SEVERE: Conflicting URI templates. The URI template /api-docs for root resource class com.wordnik.swagger.jaxrs.listing.ApiListingResourceJSON and the URI template /api-docs transform to the same regular expression /api-docs(/.*)?

解决方案

1. 解决RestEasy构造器依赖缺失错误

  • 确认所有org.jboss.resteasy组下的依赖scope全部设置为provided,不要引入与JBoss内置RestEasy版本不一致的第三方RestEasy实现,避免类加载冲突
  • 检查pom.xml中是否存在重复引入的resteasy-jaxrs、resteasy-providers相关依赖,移除多余的重复依赖声明
  • 在WEB-INF目录下添加jboss-deployment-structure.xml配置,显式排除JBoss全局自动加载的RestEasy模块,或指定依赖模块版本与项目保持一致,配置示例如下:
<jboss-deployment-structure>
    <deployment>
        <exclude-modules>
            <module name="org.jboss.resteasy.resteasy-jaxrs" />
            <module name="org.jboss.resteasy.resteasy-jackson-provider" />
        </exclude-modules>
    </deployment>
</jboss-deployment-structure>

2. 解决/api-docs路径冲突错误

  • 该错误由Swagger的ApiListingResource被重复注册导致,检查web.xml中是否同时配置了自动扫描JAX-RS资源和手动注册Swagger资源的配置,删除其中一处即可
  • 如果web.xml中resteasy.resources参数已经手动指定了com.wordnik.swagger.jaxrs.listing.ApiListingResourceJSON,需要关闭自动扫描:将resteasy.scan参数值设为false,避免重复扫描到同路径的资源类
  • 若需要保留自动扫描配置,移除手动注册的Swagger资源类声明即可

3. 验证操作

  • 清理项目编译缓存,重新打包后重启JBoss实例验证
  • 若仍存在冲突,检查项目是否引入了多个版本的Swagger jaxrs依赖,统一Swagger依赖版本到与当前RestEasy版本兼容的匹配版本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 00:45:01