Sorry for the noise, that was a stupid mistake of mine. Problem solved. Babak
> Am 07.07.2021 um 09:26 schrieb Babak Vahdat <babak.vah...@swissonline.ch>: > > Hi > > Could this be a bug in the dependency chain required for a Camel SB App with > XML-DSL? > > I get the following exception as trying to upgrade from 3.7.4 to 3.11.0 > (running on JDK 11). This happens the same no matter if I run the tests or > try to boot up the App locally with "mvn spring-boot:run” command: > > org.springframework.beans.factory.parsing.BeanDefinitionParsingException: > Configuration problem: Failed to import bean definitions from URL location > [classpath:spring/camel.xml] > Offending resource: class path resource [spring/cxf.xml]; nested exception is > org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected > exception parsing XML document from class path resource [spring/camel.xml]; > nested exception is java.lang.NoClassDefFoundError: > org/apache/camel/spi/ExpressionFactoryAware > at > org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:72) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:119) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:104) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:240) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:191) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:176) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:149) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:96) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:511) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:391) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:338) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:224) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:195) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromImportedResources$0(ConfigurationClassBeanDefinitionReader.java:390) > ~[spring-context-5.3.8.jar:5.3.8] > at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:684) > ~[na:na] > at > org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromImportedResources(ConfigurationClassBeanDefinitionReader.java:354) > ~[spring-context-5.3.8.jar:5.3.8] > at > org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:156) > ~[spring-context-5.3.8.jar:5.3.8] > at > org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:129) > ~[spring-context-5.3.8.jar:5.3.8] > at > org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:343) > ~[spring-context-5.3.8.jar:5.3.8] > at > org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247) > ~[spring-context-5.3.8.jar:5.3.8] > at > org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311) > ~[spring-context-5.3.8.jar:5.3.8] > at > org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112) > ~[spring-context-5.3.8.jar:5.3.8] > at > org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:746) > ~[spring-context-5.3.8.jar:5.3.8] > at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564) > ~[spring-context-5.3.8.jar:5.3.8] > at > org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) > ~[spring-boot-2.5.1.jar:2.5.1] > at > org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) > ~[spring-boot-2.5.1.jar:2.5.1] > at > org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434) > ~[spring-boot-2.5.1.jar:2.5.1] > at > org.springframework.boot.SpringApplication.run(SpringApplication.java:338) > ~[spring-boot-2.5.1.jar:2.5.1] > at > org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) > ~[spring-boot-2.5.1.jar:2.5.1] > at > org.springframework.boot.SpringApplication.run(SpringApplication.java:1332) > ~[spring-boot-2.5.1.jar:2.5.1] > at com.foo.Application.main(Application.java:15) ~[classes/:na] > Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: > Unexpected exception parsing XML document from class path resource > [spring/camel.xml]; nested exception is java.lang.NoClassDefFoundError: > org/apache/camel/spi/ExpressionFactoryAware > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:417) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:338) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:224) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:234) > ~[spring-beans-5.3.8.jar:5.3.8] > ... 29 common frames omitted > Caused by: java.lang.NoClassDefFoundError: > org/apache/camel/spi/ExpressionFactoryAware > at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na] > at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017) > ~[na:na] > at > java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) > ~[na:na] > at > java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800) > ~[na:na] > at > java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698) > ~[na:na] > at > java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621) > ~[na:na] > at > java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579) > ~[na:na] > at > java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) > ~[na:na] > at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[na:na] > at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na] > at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017) > ~[na:na] > at > java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) > ~[na:na] > at > java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800) > ~[na:na] > at > java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698) > ~[na:na] > at > java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621) > ~[na:na] > at > java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579) > ~[na:na] > at > java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) > ~[na:na] > at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[na:na] > at javax.xml.bind.ModuleUtil.findFirstByJaxbIndex(ModuleUtil.java:101) > ~[jakarta.xml.bind-api-2.3.3.jar:2.3.3] > at javax.xml.bind.ModuleUtil.getClassesFromContextPath(ModuleUtil.java:63) > ~[jakarta.xml.bind-api-2.3.3.jar:2.3.3] > at javax.xml.bind.ContextFinder.find(ContextFinder.java:280) > ~[jakarta.xml.bind-api-2.3.3.jar:2.3.3] > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:478) > ~[jakarta.xml.bind-api-2.3.3.jar:2.3.3] > at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:435) > ~[jakarta.xml.bind-api-2.3.3.jar:2.3.3] > at > org.apache.camel.xml.jaxb.DefaultModelJAXBContextFactory.newJAXBContext(DefaultModelJAXBContextFactory.java:39) > ~[camel-xml-jaxb-3.11.0.jar:3.11.0] > at > org.apache.camel.spring.xml.handler.CamelNamespaceHandler.getJaxbContext(CamelNamespaceHandler.java:187) > ~[camel-spring-xml-3.11.0.jar:3.11.0] > at > org.apache.camel.spring.xml.handler.CamelNamespaceHandler$CamelContextBeanDefinitionParser.doParse(CamelNamespaceHandler.java:379) > ~[camel-spring-xml-3.11.0.jar:3.11.0] > at > org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser.parseInternal(AbstractSingleBeanDefinitionParser.java:88) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.xml.AbstractBeanDefinitionParser.parse(AbstractBeanDefinitionParser.java:63) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:74) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1391) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1371) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:179) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:149) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:96) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:511) > ~[spring-beans-5.3.8.jar:5.3.8] > at > org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:391) > ~[spring-beans-5.3.8.jar:5.3.8] > ... 34 common frames omitted > Caused by: java.lang.ClassNotFoundException: > org.apache.camel.spi.ExpressionFactoryAware > at > java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) > ~[na:na] > at > java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) > ~[na:na] > at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[na:na] > ... 70 common frames omitted > > > The relevant dependencies I’ve got in place are: > > <properties> > > <!-- Dependency Versions --> > <camel-version>3.11.0</camel-version> > <cxf-version>3.4.4</cxf-version> > <spring-boot-version>2.5.1</spring-boot-version> > <xercesImpl-version>2.12.1</xercesImpl-version> > > ... > </properties> > ... > <dependencyManagement> > <dependencies> > > <!-- Spring Boot BOM --> > <dependency> > <groupId>org.springframework.boot</groupId> > <artifactId>spring-boot-dependencies</artifactId> > <version>${spring-boot-version}</version> > <type>pom</type> > <scope>import</scope> > </dependency> > > <!-- Camel BOM --> > <dependency> > <groupId>org.apache.camel.springboot</groupId> > <artifactId>camel-spring-boot-bom</artifactId> > <version>${camel-version}</version> > <type>pom</type> > <scope>import</scope> > </dependency> > </dependencies> > </dependencyManagement> > > <dependencies> > > <!-- Spring Boot --> > <dependency> > <groupId>org.springframework.boot</groupId> > <artifactId>spring-boot-starter-web</artifactId> > <exclusions> > <exclusion> > <groupId>org.springframework.boot</groupId> > <artifactId>spring-boot-starter-tomcat</artifactId> > </exclusion> > </exclusions> > </dependency> > <dependency> > <groupId>org.springframework.boot</groupId> > <artifactId>spring-boot-starter-undertow</artifactId> > </dependency> > <dependency> > <groupId>org.springframework.boot</groupId> > <artifactId>spring-boot-starter-actuator</artifactId> > </dependency> > > <!-- Camel Spring Boot --> > <dependency> > <groupId>org.apache.camel.springboot</groupId> > <artifactId>camel-cxf-starter</artifactId> > <version>${cxf-version}</version> > </dependency> > <dependency> > <groupId>org.apache.camel.springboot</groupId> > <artifactId>camel-direct-starter</artifactId> > </dependency> > <dependency> > <groupId>org.apache.camel.springboot</groupId> > <artifactId>camel-file-starter</artifactId> > </dependency> > <dependency> > <groupId>org.apache.camel.springboot</groupId> > <artifactId>camel-http-starter</artifactId> > </dependency> > <dependency> > <groupId>org.apache.camel.springboot</groupId> > <artifactId>camel-log-starter</artifactId> > </dependency> > <dependency> > <groupId>org.apache.camel.springboot</groupId> > <artifactId>camel-spring-boot-xml-starter</artifactId> > </dependency> > > <!-- CXF Spring Boot --> > <dependency> > <groupId>org.apache.cxf</groupId> > <artifactId>cxf-spring-boot-starter-jaxws</artifactId> > <version>${cxf-version}</version> > </dependency> > > <!-- CXF --> > <dependency> > <groupId>org.apache.cxf</groupId> > <artifactId>cxf-rt-ws-security</artifactId> > <version>${cxf-version}</version> > </dependency> > > <!-- Testing --> > <dependency> > <groupId>org.springframework.boot</groupId> > <artifactId>spring-boot-starter-test</artifactId> > <scope>test</scope> > </dependency> > <dependency> > <groupId>org.apache.camel</groupId> > <artifactId>camel-test-spring-junit5</artifactId> > <scope>test</scope> > </dependency> > <dependency> > <groupId>org.awaitility</groupId> > <artifactId>awaitility</artifactId> > <scope>test</scope> > </dependency> > <dependency> > <groupId>org.xmlunit</groupId> > <artifactId>xmlunit-matchers</artifactId> > <scope>test</scope> > </dependency> > <dependency> > <groupId>xerces</groupId> > <artifactId>xercesImpl</artifactId> > <version>${xercesImpl-version}</version> > <scope>test</scope> > </dependency> > <dependency> > <groupId>org.apache.camel.springboot</groupId> > <artifactId>camel-servlet-starter</artifactId> > <version>${camel-version}</version> > <scope>test</scope> > </dependency> > </dependencies> > > And with that I think I have the following required change in place. > > https://camel.apache.org/manual/latest/camel-3x-upgrade-guide-3_9.html#_modularized_camel_spring > > <https://camel.apache.org/manual/latest/camel-3x-upgrade-guide-3_9.html#_modularized_camel_spring> > > Thanks, Babak