Wildfly无法找到JAX-WS

时间:2019-01-21 15:22:41

标签: java jboss wildfly jax-ws

我正在将Java7 / JBoss7的旧系统迁移到Java8 / Wildfly14,它可以编译,但是当我尝试部署时出现以下错误:

ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC000001: Failed to start service jboss.deployment.unit."rt-app-war-9.2-SNAPSHOT.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."rt-app-war-9.2-SNAPSHOT.war".POST_MODULE: WFLYSRV0153: Failed to process phase POST_MODULE of deployment "rt-app-war-9.2-SNAPSHOT.war"
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:151)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1736)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1698)
    at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1556)
    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:1378)
    at java.lang.Thread.run(Thread.java:748)

Caused by: java.lang.NoClassDefFoundError: javax/xml/ws/WebServiceException
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
    at java.lang.Class.getConstructor0(Class.java:3075)
    at java.lang.Class.getConstructor(Class.java:1825)
    at org.jboss.as.jsf.deployment.JSFComponentProcessor.deploy(JSFComponentProcessor.java:106)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:144)
    ... 8 more

Caused by: java.lang.ClassNotFoundException: javax.xml.ws.WebServiceException from [Module "deployment.rt-app-war-9.2-SNAPSHOT.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)

其中包含的罐子是javaee-api-7.0.jar,它在我的pom中:

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-api</artifactId>
    <version>7.0</version>
    <scope>provided</scope>
</dependency>

当我在Eclipse中按ctrl + shift + T并键入“ javax.xml.ws.WebServiceException”时,它将在该jar中找到它,所以我不明白为什么Wildfly说它找不到该类。 / p>

我想念什么吗?

2 个答案:

答案 0 :(得分:0)

我相信这是因为您没有对JAX-WS API的依赖。您可以尝试添加以下依赖项吗?

from collections import ChainMap

class A:
    _priv1 = {'a': 1, 'b': 2}
    _priv2 = {'c': 1, 'd': 2}

    def items(self):
        return ChainMap(self._priv1, self._priv2)

答案 1 :(得分:0)

这是解决方案。我这样做了,然后war文件成功部署了

jboss-deployment-structure.xml

change_sample2