[ 
https://issues.apache.org/jira/browse/CAMEL-12340?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen resolved CAMEL-12340.
---------------------------------
       Resolution: Invalid
         Assignee: Claus Ibsen
    Fix Version/s: 2.21.0

Spring Boot 2 is not supported - wait for Camel 2.22 release

> camel uses org.springframework.boot.bind.RelaxedPropertyResolver which is 
> removed from spring 2.0.0
> ---------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-12340
>                 URL: https://issues.apache.org/jira/browse/CAMEL-12340
>             Project: Camel
>          Issue Type: Bug
>    Affects Versions: 2.20.2
>            Reporter: Dag Framstad
>            Assignee: Claus Ibsen
>            Priority: Major
>             Fix For: 2.21.0
>
>
> I'm using camel 2.20.2 and I've upgraded to spring boot 2.0.0 (from 1.5.10) 
> and am getting this stacktrace when I start my application:
> {code:java}
> // code placeholder
> 2018-03-09 17:47:34,372 ERROR org.springframework.boot.SpringApplication 
> Application run failed
> org.springframework.beans.factory.BeanDefinitionStoreException: Failed to 
> process import candidates for configuration class 
> [no.nav.helse.utbetaling.UtbetalingsOppdragApplication]; nested exception is 
> java.lang.IllegalStateException: Could not evaluate condition on 
> org.apache.camel.spring.boot.health.HealthCheckRoutesAutoConfiguration due to 
> org/springframework/boot/bind/RelaxedPropertyResolver not found. Make sure 
> your own configuration does not rely on that class. This can also happen if 
> you are @ComponentScanning a springframework package (e.g. if you put a 
> @ComponentScan in the default package by mistake)
> at 
> org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:616)
>  ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at 
> org.springframework.context.annotation.ConfigurationClassParser.processDeferredImportSelectors(ConfigurationClassParser.java:548)
>  ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at 
> org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:184)
>  ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at 
> org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:316)
>  ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at 
> org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:233)
>  ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at 
> org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:273)
>  ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at 
> org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:93)
>  ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at 
> org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:693)
>  ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at 
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:531)
>  ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at 
> org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140)
>  ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
> at 
> org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752)
>  [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
> at 
> org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:388)
>  [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
> at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) 
> [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
> at 
> org.springframework.boot.SpringApplication.run(SpringApplication.java:1246) 
> [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
> at 
> org.springframework.boot.SpringApplication.run(SpringApplication.java:1234) 
> [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
> at 
> no.nav.helse.utbetaling.UtbetalingsOppdragApplication.main(UtbetalingsOppdragApplication.java:19)
>  [classes/:?]
> Caused by: java.lang.IllegalStateException: Could not evaluate condition on 
> org.apache.camel.spring.boot.health.HealthCheckRoutesAutoConfiguration due to 
> org/springframework/boot/bind/RelaxedPropertyResolver not found. Make sure 
> your own configuration does not rely on that class. This can also happen if 
> you are @ComponentScanning a springframework package (e.g. if you put a 
> @ComponentScan in the default package by mistake)
> at 
> org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:55)
>  ~[spring-boot-autoconfigure-2.0.0.RELEASE.jar:2.0.0.RELEASE]
> at 
> org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:109)
>  ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at 
> org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:217)
>  ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at 
> org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:606)
>  ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> ... 15 more
> Caused by: java.lang.NoClassDefFoundError: 
> org/springframework/boot/bind/RelaxedPropertyResolver
> at 
> org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator.isEnabled(HierarchicalPropertiesEvaluator.java:49)
>  ~[camel-spring-boot-2.20.2.jar:2.20.2]
> at 
> org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator.evaluate(HierarchicalPropertiesEvaluator.java:42)
>  ~[camel-spring-boot-2.20.2.jar:2.20.2]
> at 
> org.apache.camel.spring.boot.util.GroupCondition.getMatchOutcome(GroupCondition.java:40)
>  ~[camel-spring-boot-2.20.2.jar:2.20.2]
> at 
> org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:47)
>  ~[spring-boot-autoconfigure-2.0.0.RELEASE.jar:2.0.0.RELEASE]
> at 
> org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:109)
>  ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at 
> org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:217)
>  ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at 
> org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:606)
>  ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> ... 15 more
> Caused by: java.lang.ClassNotFoundException: 
> org.springframework.boot.bind.RelaxedPropertyResolver
> at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[?:1.8.0_121]
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_121]
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
> ~[?:1.8.0_121]
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_121]
> at 
> org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator.isEnabled(HierarchicalPropertiesEvaluator.java:49)
>  ~[camel-spring-boot-2.20.2.jar:2.20.2]
> at 
> org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator.evaluate(HierarchicalPropertiesEvaluator.java:42)
>  ~[camel-spring-boot-2.20.2.jar:2.20.2]
> at 
> org.apache.camel.spring.boot.util.GroupCondition.getMatchOutcome(GroupCondition.java:40)
>  ~[camel-spring-boot-2.20.2.jar:2.20.2]
> at 
> org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:47)
>  ~[spring-boot-autoconfigure-2.0.0.RELEASE.jar:2.0.0.RELEASE]
> at 
> org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:109)
>  ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at 
> org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:217)
>  ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at 
> org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:606)
>  ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> ... 15 more
> Process finished with exit code 1
> {code}
> Any plans to fully support Spring Boot 2.0.0? 
> Or any helpful hints on a workaround?
> I have included the following dependencies in my pom.xml (only the most 
> relevant camel and pring dependencies here, some might be duplicated, the 
> application depends on an other pom which has spring-boot-starter-parent as 
> parent):
> {code}
> <dependency>
>             <groupId>org.springframework</groupId>
>             <artifactId>spring-beans</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.springframework.boot</groupId>
>             <artifactId>spring-boot</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.springframework.boot</groupId>
>             <artifactId>spring-boot-autoconfigure</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>com.querydsl</groupId>
>             <artifactId>querydsl-core</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.springframework.data</groupId>
>             <artifactId>spring-data-commons</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.springframework.data</groupId>
>             <artifactId>spring-data-jpa</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>com.github.darrachequesne</groupId>
>             <artifactId>spring-data-jpa-datatables</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.hibernate.javax.persistence</groupId>
>             <artifactId>hibernate-jpa-2.1-api</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.springframework</groupId>
>             <artifactId>spring-web</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.springframework</groupId>
>             <artifactId>spring-context</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.apache.camel</groupId>
>             <artifactId>camel-spring-boot-starter</artifactId>
>             <scope>runtime</scope>
>         </dependency>
>         <dependency>
>             <groupId>org.apache.camel</groupId>
>             <artifactId>camel-core</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.apache.camel</groupId>
>             <artifactId>camel-spring</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>io.swagger</groupId>
>             <artifactId>swagger-annotations</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>io.prometheus</groupId>
>             <artifactId>simpleclient_hotspot</artifactId>
>         </dependency>
>  <dependency>
>             <groupId>org.springframework</groupId>
>             <artifactId>spring-web</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.apache.camel</groupId>
>             <artifactId>camel-cxf</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.apache.camel</groupId>
>             <artifactId>camel-jms</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.apache.camel</groupId>
>             <artifactId>camel-spring</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.apache.camel</groupId>
>             <artifactId>camel-metrics</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.hibernate.javax.persistence</groupId>
>             <artifactId>hibernate-jpa-2.1-api</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>com.querydsl</groupId>
>             <artifactId>querydsl-core</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.springframework</groupId>
>             <artifactId>spring-jdbc</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.springframework.data</groupId>
>             <artifactId>spring-data-jpa</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>com.github.darrachequesne</groupId>
>             <artifactId>spring-data-jpa-datatables</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.springframework.boot</groupId>
>             <artifactId>spring-boot-autoconfigure</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>com.google.code.findbugs</groupId>
>             <artifactId>annotations</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.springframework</groupId>
>             <artifactId>spring-jms</artifactId>
>         </dependency>
>  {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to