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