无法在 Jboss 7 中添加 resteasy 本地模块
Posted
技术标签:
【中文标题】无法在 Jboss 7 中添加 resteasy 本地模块【英文标题】:Unable to add resteasy local module in Jboss 7 【发布时间】:2017-07-18 05:28:06 【问题描述】:无法在本地 m 的模块“com.test:main”中定义类 org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap odule loader @4f4a7090 (finder: local module finder @18ef96 (root: C:\DEV\jboss-eap-7.0.4\modules,C:\DEV\jboss-eap-7.0.4\modules\system\layers\base .overlays\layer-base-jboss-eap-7.0.4 .CP,C:\DEV\jboss-eap-7.0.4\modules\system\layers\base)): java.lang.NoClassDefFoundError: 无法链接 org/jboss/resteasy/plugins/server/servlet/ResteasyBootstrap (Module “com.test:mai n”来自本地模块加载器@4f4a7090(查找器:本地模块查找器@18ef96(根:C:\DEV\jboss-eap-7.0.4\modules,C:\DEV\jboss-eap-7.0.4\modules\system \layers\base.overlays\layer-base- jboss-eap-7.0.4.CP,C:\DEV\jboss-eap-7.0.4\modules\system\layers\base)))
09:17:27,157 错误 [org.jboss.msc.service.fail](MSC 服务线程 1-2)MSC000001:无法启动服务 jboss.deployment.unit."Test.war".POST_M ce.StartException in service jboss.deployment.unit."Test.war".POST_MODULE: WFLYSRV0153: 无法处理部署“Test.war”的阶段 POST_MODULE
Jboss 版本 7.0.4
用于添加模块的 CLI 命令
module add --name=com.test --resources=C:\jaxrs-api.jar;C:\resteasy-jaxb- provider.jar;C:\resteasy-jaxrs.jar;C:\com.common.jar;C:\com.data.jar;
甚至尝试将其设为全局模块
/subsystem=ee:write-attribute(name=global-modules,value=[name=com.test]
【问题讨论】:
问题是由于 jboss-deployment-structure xml 中的 resteasy 依赖。看起来 resteasy 模块中的一个类正在使用 org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap。确保你已经定义了它的依赖 【参考方案1】:Resteasy jaxrs 是 Jboss 7 的一部分。因此没有明确需要添加 rest easy jar 作为 WebInf-->lib 的一部分或作为 Jboss 较低 EAP 版本的模块的一部分。
以下网址提供了克服问题的正确方法 https://docs.jboss.org/author/display/AS7/JAX-RS+Reference+Guide
【讨论】:
以上是关于无法在 Jboss 7 中添加 resteasy 本地模块的主要内容,如果未能解决你的问题,请参考以下文章
JAX-RS + JBoss 7.1.1 + RESTEasy:使用 CDI 的 NullPointException
RestEASY + Jboss 7.x - 当 Accepts 与 @Produces 值不匹配时,您可以默认使用第一个 @Path 吗?
Springboot 与 RestEasy 集成并部署到 Jboss 服务器
对于来自 RESTEasy 的所有响应,JBoss7 将 Cache-Control、Pragma 设置为 no-cache