Spring boot 2与apache camel应用程序启动错误

Spring boot 2与apache camel应用程序启动错误,spring,spring-boot,java-8,apache-camel,spring-camel,Spring,Spring Boot,Java 8,Apache Camel,Spring Camel,我有一个要求,我需要监听一个活动的mq并调用rest post api来获取作为body接收的数据,为此我创建了简单的spring boot 2.x应用程序并尝试启动路由器,但应用程序无法启动 我对注册路由器的理解是用@Component附加一个类,它应该实现camel RouteBuilder @Component public class Router extends RouteBuilder{ @Override public void configure() throws

我有一个要求,我需要监听一个活动的mq并调用rest post api来获取作为body接收的数据,为此我创建了简单的spring boot 2.x应用程序并尝试启动路由器,但应用程序无法启动

我对注册路由器的理解是用@Component附加一个类,它应该实现camel RouteBuilder

@Component
public class Router extends RouteBuilder{
    @Override
    public void configure() throws Exception {
            from("timer:foo").to("log:bar");
    }
}
  • JDK1.8
  • Spring boot版本2.2.6.0发布
  • 骆驼版本2.24.0

    Pom xml


如果有任何资源无法下载到您的系统中,那么您必须卸载应用程序并从c/program file/中删除所有文件,然后重新安装。希望它能帮助您解决这个问题。

尝试删除
camel-spring
依赖项。这应该通过
驼峰弹簧启动启动机
进行过渡拉动

错误消息可能是不同驼峰版本的问题。例如,如果POM中的
${camel.version}
未定义或不等于
2.24.0
,则可以为
camel spring
camel core
使用混合camel版本

<dependencies>
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter</artifactId>
      </dependency>
      <dependency>
          <groupId>org.apache.camel</groupId>
          <artifactId>camel-spring</artifactId>
          <version>${camel.version}</version>
      </dependency>
      <dependency>
          <groupId>org.apache.camel</groupId>
          <artifactId>camel-spring-boot-starter</artifactId>
          <version>2.24.0</version>
      </dependency>
  </dependencies>
Caused by: java.lang.ClassNotFoundException: org.apache.camel.spring.spi.XmlCamelContextConfigurer
    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:521) ~[na:na]