Search code examples
springapache-cameljboss7.xjbossfuse

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


I'm building a maven application packaged as WAR, below the pom.xml and web.xml (camel-version: 2.17.0.redhat-630187, cxf-version: 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>

I've no problem if I deploy this application on Fuse 6.3.0 on EAP, but when I deploy the WAR on Fuse 7.1.0 on EAP I get this exception

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\content\67\985f81c234622333daf805132413a197e4664e\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

Have you got any idea? Uncommenting spring dependecies in pom.xml doens't solve.


Solution

  • You're mixing Fuse 6.3 dependencies with Fuse 7.1. You can import the Fuse 7.1 EAP BOM in dependencyManagement like this:

    <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>
    

    Then you can refer to the Camel dependencies without needing to explicitly define the <version>. E.g like this:

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

    The EAP container already has the relevant Camel / Spring / CXF dependencies (providing you ran the Fuse EAP installer), so you can set the scope of the dependencies to 'provided'.

    You also don't need to use the ContextLoaderListener. Fuse EAP will automatically bootstrap Camel Spring web applications for you whenever it finds a file within the WAR deployment suffixed with camel-context.xml. There are some Camel CXF quickstart examples within the EAP installation directory at quickstarts/camel which demonstrate this.