我尝试在 Wildfly 8.2 中部署我的 war 文件。我的应用程序使用 org.apache.cxf 进行 Web 服务。但 Wildfly (Jboss) 默认带有自己的 cxf jar,可以提供完整的 Java EE 支持。我可以消除 jboss cxf 并利用我自己的 cxf jar 进行 Web 服务
jboss-部署-结构.xml
<jboss-deployment-structure>
<deployment>
<exclude-subsystems>
<subsystem name="webservices" />
</exclude-subsystems>
</deployment>
</jboss-deployment-structure>
但它会禁用 jboss 的 ws 支持,这意味着我什至无法在 Jboss 管理控制台中找到 ws 端点。但我的客户需要利用 jboss 内置的 ws 功能,以便他可以随时禁用或启用任何 ws 调用。有谁知道如何配置我的应用程序以利用 jboss 的 cxf jar,以便我可以随时在 Jboss 管理控制台中调整我的 ws。以下链接的解释与我到目前为止提到的完全相同。我成功地使用了第一个选项,但我需要它与第二个选项一起使用。
http://cxf.apache.org/docs/application-server-specific-configuration-guide.html
注意:参见第一个主题(JBoss应用服务器)
我似乎不知道如何配置我的应用程序以利用 jboss 的 cxf jars..!
如果我从 build.gradle 文件中删除所有 org.apache.cxf 依赖项,它会给出 ClassNotFoundException 错误,实际上告诉我它可以找到 cxf-transport jar。
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: java.lang.ClassNotFoundException: org.apache.cxf.transport.servlet.CXFServlet
如果我在 build.gradle 文件中包含 org.apache.cxf dependentes,它表明它与 Jboss 中也存在的 cxf jar 冲突。整个问题是我需要通过消除用户定义的 cxf jar 来利用 jboss 中存在的 cxf 来获得完整的 Java EE 支持。
这可能与其他一些依赖项重叠,这意味着不同的版本。
我遇到了同样的情况,必须测试并从 org.apache.cxf 中删除所有不需要的内容,尤其是已弃用的内容,例如:
- CXF-RT-RS-扩展提供商,
- CXF 分发清单,
- CXF-捆绑-jaxrs 和
- CXF-RT-前端-JAXRS。
保持使用兼容性很重要${cxf.version}
对全部org.apache.cxf
,特别是对于更高版本,并检查依赖关系层次结构是否有其他依赖项引入旧的 cxf 库。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)