我正在尝试在 Wildfly 10.0.0 中部署我的 WAR 应用程序,但我遇到了一个常见问题:
"{\"WFLYCTL0080: Failed services\" =>
{\"jboss.deployment.unit.\\\"my-app-ws.war\\\".PARSE\" =>
\"org.jboss.msc.service.StartException in service jboss.deployment.unit.\\\"my-app.war\\\"
.PARSE: WFLYSRV0153: Failed to process phase PARSE of deployment \\\"my-app.war\\\"
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException:
WFLYWS0059: Apache CXF library (cxf-core-3.1.4.jar) detected in ws endpoint deployment;
either provide a proper deployment replacing embedded libraries with container
module dependencies or disable the webservices subsystem for the current deployment adding
a proper jboss-deployment-structure.xml descriptor to it. The former approach is
recommended, as the latter approach causes most of the webservices Java EE and any JBossWS
specific functionality to be disabled.\"}}"
然后我再次尝试提供 CXF 依赖范围:
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.1.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.1.4</version>
<scope>provided</scope>
</dependency>
然后我尝试再次部署 WAR 存档,但我遇到了另一个问题:
"{\"WFLYCTL0080: Failed services\" => {\"jboss.deployment.unit.\\\"my-app-ws.war\\\".POST_MODULE\" => \"org.jboss.msc.service.StartException in service jboss.deployment.unit.\\\"my-app-ws.war\\\".POST_MODULE: WFLYSRV0153: Failed to process phase POST_MODULE of deployment \\\"my-app-ws.war\\\"
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException:
java.lang.ClassNotFoundException:
org.apache.cxf.transport.servlet.CXFServlet from [Module \\\"deployment.my-app-ws.war:main\\\"
from Service Module Loader]
Caused by: java.lang.ClassNotFoundException:
org.apache.cxf.transport.servlet.CXFServlet from [Module \\\"deployment.my-app-ws.war:main\\\"
from Service Module Loader]\"}}"
我该如何解决这个问题?
最佳答案
您可以使用 Java EE 标准 JAX-WS(JBoss 使用 Apache CXF 实现 JAX-WS),或禁用 JBoss 的网络服务子系统:https://developer.jboss.org/thread/221654 (如果你真的需要,但要注意是否有其他应用程序依赖于此)
关于java - 在 ws 端点部署中检测到 Apache CXF 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43777562/