首页 > 解决方案 > 错误从 jboss6 更新到 wildfly15 时无法处理部署的阶段 POST_MODULE

问题描述

在使用休眠 ORM 的 jsf 项目中从 jboss6 升级到 wildfly15 以及从 java6 到 java8 时,我遇到了一些问题,我们解决了它,但我们还有另一个问题

4:34:43,718 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC000001: Failed to start service jboss.deployment.unit."nts.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."nts.war".POST_MODULE: WFLYSRV0153: Failed to process phase POST_MODULE of deployment "nts.war"
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:151)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1738)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1700)
    at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1558)
    at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
    at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1364)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: java.lang.ClassNotFoundException: com.sun.xml.ws.transport.http.servlet.WSServlet from [Module "deployment.nts.war" from Service Module Loader]
    at org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.checkDeclaredApplicationClassAsServlet(JaxrsScanningProcessor.java:437)
    at org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.scanWebDeployment(JaxrsScanningProcessor.java:278)
    at org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.deploy(JaxrsScanningProcessor.java:109)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:144)
    ... 8 more
Caused by: java.lang.ClassNotFoundException: com.sun.xml.ws.transport.http.servlet.WSServlet from [Module "deployment.nts.war" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:255)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
    at org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.checkDeclaredApplicationClassAsServlet(JaxrsScanningProcessor.java:435)
    ... 11 more

14:35:07,319 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "nts.war")]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"nts.war\".POST_MODULE" => "WFLYSRV0153: Failed to process phase POST_MODULE of deployment \"nts.war\"
    Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: java.lang.ClassNotFoundException: com.sun.xml.ws.transport.http.servlet.WSServlet from [Module \"deployment.nts.war\" from Service Module Loader]
    Caused by: java.lang.ClassNotFoundException: com.sun.xml.ws.transport.http.servlet.WSServlet from [Module \"deployment.nts.war\" from Service Module Loader]"}}
14:35:07,361 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 43) WFLYSRV0010: Deployed "nts.war" (runtime-name : "nts.war")
14:35:07,373 INFO  [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0183: Service status report
WFLYCTL0186:   Services which failed to start:      service jboss.deployment.unit."nts.war".POST_MODULE: WFLYSRV0153: Failed to process phase POST_MODULE of deployment "nts.war"

14:35:07,483 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0212: Resuming server
14:35:07,488 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management
14:35:07,489 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
14:35:07,490 ERROR [org.jboss.as] (Controller Boot Thread) WFLYSRV0026: WildFly Full 15.0.1.Final (WildFly Core 7.0.0.Final) started (with errors) in 70466ms - Started 372 of 583 services (1 services failed or missing dependencies, 324 services are lazy, passive or on-demand)
14:35:08,034 INFO  [org.jboss.as.protocol] (management I/O-1) WFLYPRT0057:  cancelled task by interrupting thread Thread[management-handler-thread - 1,5,management-handler-thread]

标签: jbosswildfly

解决方案


部署的根本原因是以下异常

java.lang.ClassNotFoundException: 
    com.sun.xml.ws.transport.http.servlet.WSServletContextListener

我假设您正在部署 JAX-WS Web 服务并且jaxws-rt.jar缺少 JAX-WS 依赖库。要解决此问题,请下载 JAX-WS RI 分发版,将其解压缩并复制jaxws-rt.jar到您的类路径。


推荐阅读