java Wildfly Jboss NoClassDefFoundError:未能链接org/Jboss/ws/core/jaxws/spi/ProviderImpl的错误
目前正在wildlfy 17上部署web应用程序(使用Grails)。 战争被部署,但当我在运行时运行特定操作时
我收到以下错误(stacktrace缩小):
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
我已经将JAR添加到包含这些类的项目中,我已经检查过,并且这些类存在于生成的WAR文件中。而且,这些都不在Wildlfy的模块文件夹中
我已经创建了jboss部署结构。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调度问题,但似乎对这个问题不起作用
# 1 楼答案
发生的是一个名为com的模块。项目已存在于wildlfy中
这就是错误所指的-
这意味着“com.project”(在wildlfy和战争中也是如此)有这个类,这会导致加载JAR和两个相同的类,从而导致NoClassDefFoundError
通过添加,我能够使它工作。 现在可以从wildlfy中删除用户添加的to模块,但在我的情况下,其他战争需要此模块。因此,需要在所需的战争中排除它,因为它会导致此错误