Несовместимая версия apache.camel с Spring.Boot v2.0

Кто угодно мог рассказать мне, какую версию org.apache.верблюд мне следует использовать с загрузочной версией Spring 2.0.0 .RELEASE.

Когда я использовал более новые версии apache.camel, например 2.21.0, я сталкивался с ошибкой RelaxedPropertyResolved. Я читал форумы, и мне сказали понизить версию Spring Boot, которую я не могу. Мне нужно использовать sprint.boot.version 2.0.0 с новой версией apache.camel.version, не внося изменений в свой код Java?

Как вы думаете, это возможно?

Это мои зависимости для camel.version и spring.boot.version. Пожалуйста, дайте мне знать, если вам понадобится что-нибудь еще.

         <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-bom</artifactId>
            <version>${camel.version}</version>
            <type>pom</type>
            <scope>import</scope>
            <version>2.21.0
         </dependency>
         <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>${spring.boot.version}</version>
            <type>pom</type>
            <scope>import</scope>
            <version>2.21.0</version>
        </dependency>

Ошибка :

at com.project.eventrouter.Application.main(Application.java:26)
Caused by: java.lang.IllegalStateException: Could not evaluate condition on 
org.apache.camel.spring.boot.security.CamelSSLAutoConfiguration 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)
org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:55)
at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:109)
at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:217)
at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:606)
... 13 common frames omitted
2
0
3 144
1

Ответы 1

  • Camel 2.21.x или более ранняя версия - Spring Boot 1.5.x
  • Camel 2.22.x - это только Spring Boot 2.0.x
  • Camel 2.23.x - это Spring Boot 2.1.x (и, возможно, также Spring Boot 2.0.x)

У меня возникла еще одна ошибка после изменения версии camel.version и spring.boot. Причина: вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка при создании bean-компонента с именем 'camelContext', определенным в ресурсе пути к классу [org / apache / camel / spring / boot / CamelAutoConfiguration.class]: пост-обработка объединенного bean-компонента определение не удалось; вложенное исключение - java.lang.IllegalStateException: не удалось проанализировать класс [org.apache.camel.impl.DefaultCamelContext] из ClassLoader [jdk.internal.loader.ClassLoaders$AppClassLoader@77556fd]

Tonyukuk 25.12.2018 11:45

@Tonyukuk похоже, что вы используете java 9, camel 2.x - это java 8

Luca Burgazzoli 25.12.2018 19:57

Нет, я использую java 11. Я не могу использовать camel 2.x с java 11?

Tonyukuk 25.12.2018 20:02

Нет, Java 11 (пока) официально не поддерживается в Camel 2.x. Планируется, что Camel 3 будет поддерживать Java 11. Возможно, мы сможем обеспечить максимальную поддержку Java 11 в будущем выпуске Camel 2.x, но не сейчас.

Claus Ibsen 26.12.2018 19:22

я не знаю, кто сделал это, чтобы увеличить второстепенную версию библиотеки (верблюда), когда за ней была увеличена основная весенняя версия, но это был очень печальный и контрпродуктивный ход, не должен этого допустить

Zoltan 19.09.2019 14:47

Другие вопросы по теме