![](/img/trans.png)
[英]RESTEasy-Spring integrated webapp throws cryptic error: NoResourceFoundFailure
[英]Loading resteasy-spring module into WildFly ClassNotFoundException
設置了我在WildFly上部署的小型JAX-RS應用程序之后,我試圖為RestEasy添加Spring支持。 我想使用WildFly中包含的resteasy-spring模塊。 部署WAR時,出現ClassNotFoundException:
Caused by: java.lang.ClassNotFoundException: org.jboss.resteasy.plugins.spring.SpringContextLoaderListener from [Module "deployment.mk-backend-8.0.0-SNAPSHOT.war:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:197) [jboss-modules.jar:1.3.0.Final]
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:443) [jboss-modules.jar:1.3.0.Final]
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:431) [jboss-modules.jar:1.3.0.Final]
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:373) [jboss-modules.jar:1.3.0.Final]
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:118) [jboss-modules.jar:1.3.0.Final]
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService.addListener(UndertowDeploymentInfoService.java:1145)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService.createServletConfig(UndertowDeploymentInfoService.java:734)
... 6 more
我將模塊包含在清單文件中,該文件如下所示:
Manifest-Version: 1.0
Dependencies: org.jboss.resteasy.resteasy-spring export
在我的web.xml中,我包含了SpringContextLoaderListener
<listener>
<listener-class>
org.jboss.resteasy.plugins.spring.SpringContextLoaderListener
</listener-class>
</listener>
我是WildFly的新手。 我瀏覽了很多文檔,但找不到任何可以幫助我的東西。我在做什么錯?
我正在處理一個非常類似的問題...如果您未在WEB-INF / lib中包含依賴項,則可以強制Wildfly從服務器類路徑中加載此依賴項,如果與特定的lib版本沖突,甚至可以將其排除在您的項目中使用。 您要做的就是創建以下XML文件並將其保存在WEB-INF/jboss-deployment-structure.xml
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<exclusions>
<module name="org.jboss.resteasy.resteasy-jackson2-provider" />
</exclusions>
<dependencies>
<module name="org.jboss.resteasy.resteasy-jackson-provider" services="import" />
<module name="org.apache.httpcomponents" services="import"/>
<module name="org.apache.commons.io" services="import"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
**您應注意,節點<exclusion>
和<dependencies>
中的標記只是示例代碼,應將其替換為自己所需的配置。
也許對項目缺少的依賴項在WildFly lib上被標記為私有。 打開目錄%JBOSS_HOME%/modules/system/layers/base/org/jboss/resteasy
並檢查該庫是否存在,或者該庫的module.xml是否包含以下標記
<properties>
<property name="jboss.api" value="private"/>
</properties>
如果WildFly依賴項是私有的,則應在上面顯示的XML(jboss-deployment-structure.xml)中明確包含它。 否則,您只需要使用它,就無需在您的WEB-INF / lib或manifest.mf文件中包含該庫。 但是,如果WildFly上不存在依賴項,建議您將其包括在WEB-INF / lib中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.