java - Wildfly Jboss NoClassDefFoundError : Failed to link Error for org/jboss/ws/core/jaxws/spi/ProviderImpl

标签 java tomcat grails jboss wildfly

目前正在致力于在 wildlfy 17 上部署 Web 应用程序(使用 Grails)。 WAR 已部署,但是当我在运行时运行特定操作时,

我收到以下错误(堆栈跟踪缩小):

WARN  [org.jboss.modules.define] (default task-18) Failed to define class org.jboss.ws.core.jaxws.spi.ProviderImpl in Module "com.project" from local module loader @68b6f0d6 (finder: local module finder @4044fb95 (roots: C:\Programs\Wildfly\modules,C:\Programs\Wildfly\modules\system\layers\base)): java.lang.NoClassDefFoundError: Failed to link org/jboss/ws/core/jaxws/spi/ProviderImpl (Module "com.project" from local module loader @68b6f0d6 (finder: local module finder @4044fb95 (roots: C:\IDeaS\CMA\G302\Programs\Wildfly\modules,C:\Programs\Wildfly\modules\system\layers\base))): javax/xml/ws/spi/Provider

ERROR [StackTrace] (default task-18) Full Stack Trace:: javax.xml.ws.WebServiceException: Error while searching for service [javax.xml.ws.spi.Provider]

Caused by: java.lang.NoClassDefFoundError: Failed to link org/jboss/ws/core/jaxws/spi/ProviderImpl (Module "com.project" from local module loader @68b6f0d6 (finder: local module finder @4044fb95 (roots: C:\Programs\Wildfly\modules,C:\\Programs\Wildfly\modules\system\layers\base))): javax/xml/ws/spi/Provider

ERROR [StackTrace] (default task-18) Full Stack Trace:: java.lang.NoClassDefFoundError: Failed to link org/jboss/ws/core/jaxws/spi/ProviderImpl (Module "com.project" from local module loader @68b6f0d6 (finder: local module finder @4044fb95 (roots: C:\Programs\Wildfly\modules,C:\Programs\Wildfly\modules\system\layers\base))): javax/xml/ws/spi/Provider

ERROR [StackTrace] (default task-18) Full Stack Trace:: javax.xml.ws.WebServiceException: Error while searching for service [javax.xml.ws.spi.Provider]

Caused by: java.lang.NoClassDefFoundError: Failed to link org/jboss/ws/core/jaxws/spi/ProviderImpl (Module "com.project" from local module loader @68b6f0d6 (finder: local module finder @4044fb95 (roots: C:\Programs\Wildfly\modules,C:\Programs\Wildfly\modules\system\layers\base))): javax/xml/ws/spi/Provider

ERROR [org.grails.web.errors.GrailsExceptionResolver] (default task-18) NoClassDefFoundError occurred when processing request: [POST] /cma/Sql/runQuery
Failed to link org/jboss/ws/core/jaxws/spi/ProviderImpl (Module "com.project" from local module loader @68b6f0d6 (finder: local module finder @4044fb95 (roots: C:\Programs\Wildfly\modules,C:\Programs\Wildfly\modules\system\layers\base))): javax/xml/ws/spi/Provider. Stacktrace follows:: javax.xml.ws.WebServiceException: Error while searching for service [javax.xml.ws.spi.Provider]

Caused by: java.lang.NoClassDefFoundError: Failed to link org/jboss/ws/core/jaxws/spi/ProviderImpl (Module "com.project" from local module loader @68b6f0d6 (finder: local module finder @4044fb95 (roots: C:\Programs\Wildfly\modules,C:\Programs\Wildfly\modules\system\layers\base))): javax/xml/ws/spi/Provider

我已将 Jars 添加到包含此类的项目中,我已检查这些类是否存在于生成的 WAR 文件中。另外,Wildlfy 的模块文件夹中不存在这些

我已经创建了 jboss-deployment-struct.xml:

<?xml version='1.0' encoding='UTF-8'?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
    <deployment>
        <exclusions>
            <module name="org.quartz" />
            <module name="org.jboss.ws.core" />
        </exclusions>
        <resources>
            <resource-root path="jbossws-client.jar" />
        </resources>
        <dependencies>
            <module name="org.jboss.ws.core" />
        </dependencies>
    </deployment>
</jboss-deployment-structure>

在这里,我分别尝试了排除、资源和依赖项,但为了简单起见,只是将其组合在一起。但它们似乎都不适合我。

添加<module name="org.quartz" />解决了我的 quartz 调度问题,但似乎不适用于这个问题。

最佳答案

发生的情况是,wildlfy 中已存在名为 com.project 的模块。

这就是错误的含义-

Failed to link org/jboss/ws/core/jaxws/spi/ProviderImpl (Module "com.project" from local module loader

这意味着“com.project”(在wildlfy和WAR中也有)有这个类,这会导致两个jar都被加载,并且两个相同的类会导致NoClassDefFoundError

通过添加,我能够使其工作。 现在可以从 wildlfy 中删除用户添加的模块,但在我的情况下,其他 war 需要此模块。因此,需要将其排除在造成此错误的所需 war 中。

关于java - Wildfly Jboss NoClassDefFoundError : Failed to link Error for org/jboss/ws/core/jaxws/spi/ProviderImpl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66840801/

相关文章:

java - Android Studio,使用另一个 Activity 的变量

multithreading - 在 Tomcat 中用打开的套接字杀死线程

java - 构建maven项目导致错误

tomcat - 在tomcat中绑定(bind)JNDI数据源?

java - 如何编写 Selenium 脚本从列表中获取随机字母数字

java - Gplus 用户身份验证和在同一 Activity 中获取用户位置

java - 从枚举值实例化类的良好做法

java - 派生时区名称、缩写偏移量

grails - bcrypt日志回合与哈希迭代

grails - Elasticsearch Grails插件:如何索引文件?