Class org.springframework.web.context.support.XmlWebApplicationContext 未在 EAP 上的 Fuse 7.1.0 中部署 WAR

Class org.springframework.web.context.support.XmlWebApplicationContext not found deploying WAR in Fuse 7.1.0 on EAP

我正在构建一个打包为 WAR 的 Maven 应用程序,位于 pom.xml 和 web.xml 下方(骆驼版本:2.17.0.redhat-630187,cxf-版本:3.1.12)

  <dependencies>
    <dependency>
      <groupId>org.wildfly.camel</groupId>
      <artifactId>wildfly-camel-bom</artifactId>
      <version>5.2.0.fuse-710021-redhat-00001</version>
      <type>pom</type>
    </dependency>
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-parent</artifactId>
      <version>2.17.0.redhat-630187</version>
      <type>pom</type>
    </dependency>
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-core</artifactId>
      <version>2.17.0.redhat-630187</version>
    </dependency>
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-cxf</artifactId>
      <version>2.17.0.redhat-630187</version>
    </dependency>
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-cdi</artifactId>
      <version>2.17.0.redhat-630187</version>
    </dependency>
    <!--
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>4.3.18.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>4.3.18.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>4.3.18.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>4.3.18.RELEASE</version>
    </dependency>
    -->
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-servlet</artifactId>
      <version>2.17.0.redhat-630187</version>
    </dependency>
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-http4</artifactId>
      <version>2.17.0.redhat-630187</version>
    </dependency>
  </dependencies>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:META-INF/spring/*.xml</param-value>
    </context-param>

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <servlet>
        <servlet-name>CXFServlet</servlet-name>
        <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>CXFServlet</servlet-name>
        <url-pattern>/soap/*</url-pattern>
    </servlet-mapping>

</web-app>

如果我在 EAP 上的 Fuse 6.3.0 上部署此应用程序没有问题,但是当我在 EAP 上的 Fuse 7.1.0 上部署 WAR 时出现此异常

09:08:26,639 INFO  [org.jboss.modules] (main) JBoss Modules version 1.6.0.Final-redhat-1
09:08:28,395 INFO  [org.jboss.msc] (main) JBoss MSC version 1.2.7.SP1-redhat-1
09:08:28,613 INFO  [org.jboss.as] (MSC service thread 1-8) WFLYSRV0049: JBoss EAP 7.1.0.GA (WildFly Core 3.0.10.Final-redhat-1) starting
09:08:49,172 INFO  [org.jboss.as.controller.management-deprecated] (Controller Boot Thread) WFLYCTL0028: Attribute 'security-realm' in the resource at address '/core-service=management/management-interface=http-interface' is deprecated, and may be removed in future version. See the attribute description in the output of the read-resource-description operation to learn more about the deprecation.
09:08:49,207 INFO  [org.jboss.as.controller.management-deprecated] (ServerService Thread Pool -- 24) WFLYCTL0028: Attribute 'security-realm' in the resource at address '/subsystem=undertow/server=default-server/https-listener=https' is deprecated, and may be removed in future version. See the attribute description in the output of the read-resource-description operation to learn more about the deprecation.
09:08:49,300 INFO  [org.wildfly.security] (ServerService Thread Pool -- 15) ELY00001: WildFly Elytron version 1.1.7.Final-redhat-1
09:08:50,334 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0039: Creating http management service using socket-binding (management-http)
09:08:50,363 INFO  [org.xnio] (MSC service thread 1-8) XNIO version 3.5.4.Final-redhat-1
09:08:50,378 INFO  [org.xnio.nio] (MSC service thread 1-8) XNIO NIO Implementation Version 3.5.4.Final-redhat-1
09:08:50,441 WARN  [org.jboss.as.txn] (ServerService Thread Pool -- 59) WFLYTX0013: The node-identifier attribute on the /subsystem=transactions is set to the default value. This is a danger for environments running multiple servers. Please make sure the attribute value is unique.
09:08:50,441 INFO  [org.jboss.as.jaxrs] (ServerService Thread Pool -- 44) WFLYRS0016: RESTEasy version 3.0.24.Final-redhat-1
09:08:50,441 INFO  [org.jboss.as.security] (ServerService Thread Pool -- 58) WFLYSEC0002: Activating Security Subsystem
09:08:50,457 INFO  [org.jboss.as.naming] (ServerService Thread Pool -- 51) WFLYNAM0001: Activating Naming Subsystem
09:08:50,457 INFO  [org.jboss.as.security] (MSC service thread 1-2) WFLYSEC0001: Current PicketBox version=5.0.2.Final-redhat-1
09:08:50,457 INFO  [org.wildfly.extension.io] (ServerService Thread Pool -- 42) WFLYIO001: Worker 'default' has auto-configured to 8 core threads with 64 task threads based on your 4 available processors
09:08:50,457 INFO  [org.jboss.as.jsf] (ServerService Thread Pool -- 49) WFLYJSF0007: Activated the following JSF Implementations: [main]
09:08:50,508 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 43) WFLYCLINF0001: Activating Infinispan subsystem.
09:08:50,517 INFO  [org.jboss.as.webservices] (ServerService Thread Pool -- 61) WFLYWS0002: Activating WebServices Extension
09:08:50,599 INFO  [org.jboss.as.connector] (MSC service thread 1-8) WFLYJCA0009: Starting JCA Subsystem (WildFly/IronJacamar 1.4.6.Final-redhat-1)
09:08:50,786 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 37) WFLYJCA0004: Deploying JDBC-compliant driver class org.h2.Driver (version 1.4)
09:08:50,849 INFO  [org.jboss.remoting] (MSC service thread 1-4) JBoss Remoting version 5.0.5.Final-redhat-1
09:08:50,880 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-8) WFLYUT0003: Undertow 1.4.18.Final-redhat-2 starting
09:08:50,911 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-4) WFLYJCA0018: Started Driver service with driver-name = h2
09:08:50,927 INFO  [org.jboss.as.naming] (MSC service thread 1-1) WFLYNAM0003: Starting Naming Service
09:08:50,974 INFO  [org.jboss.as.mail.extension] (MSC service thread 1-2) WFLYMAIL0001: Bound mail session [java:jboss/mail/Default]
09:08:51,126 INFO  [org.jboss.gravia.runtime] (MSC service thread 1-5) Installed: Module[gravia-system:0.0.0]
09:08:51,128 INFO  [org.jboss.gravia.runtime] (MSC service thread 1-5) Runtime created: org.wildfly.extension.gravia.service.WildFlyRuntime@6614ab98
09:08:51,152 INFO  [org.jboss.gravia.runtime] (MSC service thread 1-5) Installed: Module[org.apache.felix.configadmin:1.8.8]
09:08:51,154 INFO  [org.jboss.gravia.runtime] (MSC service thread 1-5) Installed: Module[org.apache.felix.scr:1.6.2]
09:08:51,209 INFO  [org.jboss.as.ejb3] (MSC service thread 1-2) WFLYEJB0481: Strict pool slsb-strict-max-pool is using a max instance size of 64 (per class), which is derived from thread worker pool sizing.
09:08:51,210 INFO  [org.jboss.as.ejb3] (MSC service thread 1-2) WFLYEJB0482: Strict pool mdb-strict-max-pool is using a max instance size of 16 (per class), which is derived from the number of CPUs on this host.
09:08:51,295 INFO  [org.jboss.gravia.runtime] (MSC service thread 1-5) Started: Module[org.apache.felix.configadmin:1.8.8]
09:08:51,373 INFO  [org.jboss.gravia.runtime] (MSC service thread 1-5) Started: Module[org.apache.felix.scr:1.6.2]
09:08:51,375 WARN  [org.jboss.gravia.runtime] (MSC service thread 1-5) Invalid configuration directory: C:\JBoss\Fuse\jboss-eap-7.1.0\jboss-eap-7.1\standalone\configuration\gravia\configs
09:08:51,375 INFO  [org.wildfly.extension.gravia] (MSC service thread 1-5) Activating Gravia Subsystem
09:08:51,375 INFO  [org.wildfly.extension.camel] (MSC service thread 1-8) Activating Camel Subsystem
09:08:51,375 INFO  [org.wildfly.extension.camel] (MSC service thread 1-1) Bound camel naming object: java:jboss/camel/CamelContextFactory
09:08:51,375 INFO  [org.jboss.gravia.runtime] (MSC service thread 1-5) Installed: Module[gravia-container-wildfly-extension:1.3.1]
09:08:51,375 INFO  [org.jboss.gravia.runtime] (MSC service thread 1-5) Started: Module[gravia-container-wildfly-extension:1.3.1]
09:08:51,390 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 60) WFLYUT0014: Creating file handler for path 'C:\JBoss\Fuse\jboss-eap-7.1.0\jboss-eap-7.1/welcome-content' with options [directory-listing: 'false', follow-symlink: 'false', case-sensitive: 'true', safe-symlink-paths: '[]']
09:08:51,406 INFO  [org.wildfly.extension.camel] (MSC service thread 1-7) Bound camel naming object: java:jboss/camel/CamelContextRegistry
09:08:51,422 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-1) WFLYUT0012: Started server default-server.
09:08:51,422 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-1) WFLYUT0018: Host default-host starting
09:08:51,826 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-4) WFLYUT0006: Undertow HTTP listener default listening on 127.0.0.1:8083
09:08:51,904 INFO  [org.jboss.as.ejb3] (MSC service thread 1-1) WFLYEJB0493: EJB subsystem suspension complete
09:08:52,029 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-1) WFLYJCA0001: Bound data source [java:jboss/datasources/ExampleDS]
09:08:52,885 INFO  [org.jboss.as.patching] (MSC service thread 1-4) WFLYPAT0050: JBoss EAP cumulative patch ID is: base, one-off patches include: none
09:08:52,900 WARN  [org.jboss.as.domain.management.security] (MSC service thread 1-7) WFLYDM0111: Keystore C:\JBoss\Fuse\jboss-eap-7.1.0\jboss-eap-7.1\standalone\configuration\application.keystore not found, it will be auto generated on first use with a self signed certificate for host localhost
09:08:52,915 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-4) WFLYDS0013: Started FileSystemDeploymentService for directory C:\JBoss\Fuse\jboss-eap-7.1.0\jboss-eap-7.1\standalone\deployments
09:08:52,915 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) WFLYSRV0027: Starting deployment of "hawtio-wildfly-2.0.0.fuse-710018-redhat-00002.war" (runtime-name: "hawtio-wildfly-2.0.0.fuse-710018-redhat-00002.war")
09:08:53,388 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-6) WFLYUT0006: Undertow HTTPS listener https listening on 127.0.0.1:8443
09:08:54,112 INFO  [org.jboss.ws.common.management] (MSC service thread 1-6) JBWS022052: Starting JBossWS 5.1.9.Final-redhat-1 (Apache CXF 3.1.12.redhat-1) 
09:09:59,940 INFO  [org.infinispan.factories.GlobalComponentRegistry] (MSC service thread 1-8) ISPN000128: Infinispan version: Infinispan 'Chakra' 8.2.8.Final-redhat-1
09:10:00,404 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 66) WFLYCLINF0002: Started client-mappings cache from ejb container
09:10:01,954 INFO  [io.hawt.HawtioContextListener] (ServerService Thread Pool -- 72) Initialising hawtio services
09:10:01,967 INFO  [io.hawt.system.ConfigManager] (ServerService Thread Pool -- 72) Configuration will be discovered via JNDI
09:10:01,967 INFO  [io.hawt.jmx.JmxTreeWatcher] (ServerService Thread Pool -- 72) Welcome to hawtio 2.0.0.fuse-710018-redhat-00002 : http://hawt.io/ : Don't cha wish your console was hawt like me? ;-)
09:10:02,618 INFO  [io.hawt.system.ProxyWhitelist] (ServerService Thread Pool -- 72) Initial proxy whitelist: [localhost, 127.0.0.1, 10.13.100.70, BLU17425.replynet.prv, b2ctest.ecredit.it]
09:10:02,759 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 72) WFLYUT0021: Registered web context: '/hawtio' for server 'default-server'
09:10:02,759 INFO  [org.wildfly.extension.camel] (ServerService Thread Pool -- 72) Add Camel endpoint: http://127.0.0.1:8083/hawtio
09:10:02,790 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 38) WFLYSRV0010: Deployed "hawtio-wildfly-2.0.0.fuse-710018-redhat-00002.war" (runtime-name : "hawtio-wildfly-2.0.0.fuse-710018-redhat-00002.war")
09:10:02,946 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0212: Resuming server
09:10:02,946 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management
09:10:02,946 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
09:10:02,946 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: JBoss EAP 7.1.0.GA (WildFly Core 3.0.10.Final-redhat-1) started in 97232ms - Started 481 of 709 services (353 services are lazy, passive or on-demand)
09:13:13,052 INFO  [org.jboss.as.repository] (External Management Request Threads -- 6) WFLYDR0001: Content added at location C:\JBoss\Fuse\jboss-eap-7.1.0\jboss-eap-7.1\standalone\data\content5f81c234622333daf805132413a197e4664e\content
09:13:13,058 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) WFLYSRV0027: Starting deployment of "crif-eurisc-0.0.1-SNAPSHOT.war" (runtime-name: "crif-eurisc-0.0.1-SNAPSHOT.war")
09:13:17,918 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-3) WFLYSRV0059: Class Path entry jaxb-api.jar in /C:/JBoss/Fuse/jboss-eap-7.1.0/jboss-eap-7.1/bin/content/crif-eurisc-0.0.1-SNAPSHOT.war/WEB-INF/lib/jaxb-core-2.2.11.jar  does not point to a valid jar for a Class-Path reference.
09:13:17,937 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-3) WFLYSRV0059: Class Path entry jaxb-core.jar in /C:/JBoss/Fuse/jboss-eap-7.1.0/jboss-eap-7.1/bin/content/crif-eurisc-0.0.1-SNAPSHOT.war/WEB-INF/lib/jaxb-impl-2.2.11.jar  does not point to a valid jar for a Class-Path reference.
09:13:17,987 INFO  [org.wildfly.extension.camel] (MSC service thread 1-4) Camel context descriptors found
09:13:18,255 WARN  [org.jboss.weld.deployer] (MSC service thread 1-4) WFLYWELD0012: Warning while parsing vfs:/C:/JBoss/Fuse/jboss-eap-7.1.0/jboss-eap-7.1/bin/content/crif-eurisc-0.0.1-SNAPSHOT.war/WEB-INF/lib/camel-cdi-2.17.0.redhat-630187.jar/META-INF/beans.xml:18 cvc-elt.1.a: Cannot find the declaration of element 'beans'.
09:13:18,585 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-6) MSC000001: Failed to start service jboss.deployment.unit."crif-eurisc-0.0.1-SNAPSHOT.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."crif-eurisc-0.0.1-SNAPSHOT.war".POST_MODULE: WFLYSRV0153: Failed to process phase POST_MODULE of deployment "crif-eurisc-0.0.1-SNAPSHOT.war"
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:172)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:2032)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1955)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.RuntimeException: WFLYSRV0177: Error getting reflective information for class org.apache.cxf.transport.servlet.CXFServlet with ClassLoader ModuleClassLoader for Module "org.apache.cxf.impl" from local module loader @7006c658 (finder: local module finder @34033bd0 (roots: C:\JBoss\Fuse\jboss-eap-7.1.0\jboss-eap-7.1\modules,C:\JBoss\Fuse\jboss-eap-7.1.0\jboss-eap-7.1\modules\system\layers\fuse,C:\JBoss\Fuse\jboss-eap-7.1.0\jboss-eap-7.1\modules\system\layers\base))
    at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:78)
    at org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotationInformation(MethodAnnotationAggregator.java:57)
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotations(InterceptorAnnotationProcessor.java:106)
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:91)
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:76)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:165)
    ... 5 more
Caused by: java.lang.NoClassDefFoundError: Lorg/springframework/web/context/support/XmlWebApplicationContext;
    at java.lang.Class.getDeclaredFields0(Native Method)
    at java.lang.Class.privateGetDeclaredFields(Unknown Source)
    at java.lang.Class.getDeclaredFields(Unknown Source)
    at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(ClassReflectionIndex.java:72)
    at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:70)
    ... 10 more
Caused by: java.lang.ClassNotFoundException: org.springframework.web.context.support.XmlWebApplicationContext from [Module "org.apache.cxf.impl" from local module loader @7006c658 (finder: local module finder @34033bd0 (roots: C:\JBoss\Fuse\jboss-eap-7.1.0\jboss-eap-7.1\modules,C:\JBoss\Fuse\jboss-eap-7.1.0\jboss-eap-7.1\modules\system\layers\fuse,C:\JBoss\Fuse\jboss-eap-7.1.0\jboss-eap-7.1\modules\system\layers\base))]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:198)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:412)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:400)
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
    ... 15 more

09:13:18,585 ERROR [org.jboss.as.controller.management-operation] (External Management Request Threads -- 6) WFLYCTL0013: Operation ("add") failed - address: ([("deployment" => "crif-eurisc-0.0.1-SNAPSHOT.war")]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"crif-eurisc-0.0.1-SNAPSHOT.war\".POST_MODULE" => "WFLYSRV0153: Failed to process phase POST_MODULE of deployment \"crif-eurisc-0.0.1-SNAPSHOT.war\"
    Caused by: java.lang.RuntimeException: WFLYSRV0177: Error getting reflective information for class org.apache.cxf.transport.servlet.CXFServlet with ClassLoader ModuleClassLoader for Module \"org.apache.cxf.impl\" from local module loader @7006c658 (finder: local module finder @34033bd0 (roots: C:\JBoss\Fuse\jboss-eap-7.1.0\jboss-eap-7.1\modules,C:\JBoss\Fuse\jboss-eap-7.1.0\jboss-eap-7.1\modules\system\layers\fuse,C:\JBoss\Fuse\jboss-eap-7.1.0\jboss-eap-7.1\modules\system\layers\base))
    Caused by: java.lang.NoClassDefFoundError: Lorg/springframework/web/context/support/XmlWebApplicationContext;
    Caused by: java.lang.ClassNotFoundException: org.springframework.web.context.support.XmlWebApplicationContext from [Module \"org.apache.cxf.impl\" from local module loader @7006c658 (finder: local module finder @34033bd0 (roots: C:\JBoss\Fuse\jboss-eap-7.1.0\jboss-eap-7.1\modules,C:\JBoss\Fuse\jboss-eap-7.1.0\jboss-eap-7.1\modules\system\layers\fuse,C:\JBoss\Fuse\jboss-eap-7.1.0\jboss-eap-7.1\modules\system\layers\base))]"}}
09:13:18,585 ERROR [org.jboss.as.server] (External Management Request Threads -- 6) WFLYSRV0021: Deploy of deployment "crif-eurisc-0.0.1-SNAPSHOT.war" was rolled back with the following failure message: 
{"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"crif-eurisc-0.0.1-SNAPSHOT.war\".POST_MODULE" => "WFLYSRV0153: Failed to process phase POST_MODULE of deployment \"crif-eurisc-0.0.1-SNAPSHOT.war\"
    Caused by: java.lang.RuntimeException: WFLYSRV0177: Error getting reflective information for class org.apache.cxf.transport.servlet.CXFServlet with ClassLoader ModuleClassLoader for Module \"org.apache.cxf.impl\" from local module loader @7006c658 (finder: local module finder @34033bd0 (roots: C:\JBoss\Fuse\jboss-eap-7.1.0\jboss-eap-7.1\modules,C:\JBoss\Fuse\jboss-eap-7.1.0\jboss-eap-7.1\modules\system\layers\fuse,C:\JBoss\Fuse\jboss-eap-7.1.0\jboss-eap-7.1\modules\system\layers\base))
    Caused by: java.lang.NoClassDefFoundError: Lorg/springframework/web/context/support/XmlWebApplicationContext;
    Caused by: java.lang.ClassNotFoundException: org.springframework.web.context.support.XmlWebApplicationContext from [Module \"org.apache.cxf.impl\" from local module loader @7006c658 (finder: local module finder @34033bd0 (roots: C:\JBoss\Fuse\jboss-eap-7.1.0\jboss-eap-7.1\modules,C:\JBoss\Fuse\jboss-eap-7.1.0\jboss-eap-7.1\modules\system\layers\fuse,C:\JBoss\Fuse\jboss-eap-7.1.0\jboss-eap-7.1\modules\system\layers\base))]"}}
09:13:19,985 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-8) WFLYSRV0028: Stopped deployment crif-eurisc-0.0.1-SNAPSHOT.war (runtime-name: crif-eurisc-0.0.1-SNAPSHOT.war) in 1394ms

你有什么想法吗?取消注释 pom.xml 中的 spring 依赖关系无法解决。

您将 Fuse 6.3 依赖项与 Fuse 7.1 混合在一起。您可以像这样在 dependencyManagement 中导入 Fuse 7.1 EAP BOM:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.jboss.redhat-fuse</groupId>
            <artifactId>fuse-eap-bom</artifactId>
            <version>7.1.0.fuse-710019-redhat-00002</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

然后你可以引用 Camel 依赖而不需要显式定义<version>。例如:

<dependencies>
    <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-cxf</artifactId>
        <scope>provided</scope>
    </dependency>
</dependencies>

EAP 容器已经有相关的 Camel / Spring / CXF 依赖(为你提供 运行 Fuse EAP 安装程序),因此你可以将依赖的范围设置为 'provided'.

您也不需要使用 ContextLoaderListener。只要在 WAR 部署中找到后缀为 camel-context.xml 的文件,Fuse EAP 就会自动为您 bootstrap Camel Spring Web 应用程序。在 quickstarts/camel 的 EAP 安装目录中有一些 Camel CXF 快速入门示例演示了这一点。