Easiest way to start a Spring Boot Apache Camel Project

What is the easiest way to start a Maven project that includes Spring Boot and Apache Camel?

One idea would be the Spring Initializr that include Camel as dependency.

That would bring in our POM dependencies the following coordinates:

<dependency>      
   <groupId>org.apache.camel.springboot</groupId>      
   <artifactId>camel-spring-boot-starter</artifactId>            
   <version>${camel-spring-boot.version}</version>    
</dependency>
  

That would seem sufficient but as the project grows and the need to include multiple Apache Camel Endpoint dependencies is necessary, we might run into version dependency issues between the Spring Boot Starter underlying dependencies, and the Apache Camel Endpoint dependencies.

There is a better way to manage consistently these underlying dependencies and that is via the Apache Camel BOM dedicated to Spring Boot dependencies, such as the below:

<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-dependencies</artifactId>
        <version>${apache-camel.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

In fact this is what a dedicated Maven Apache Camel Archetype is created to do which I think is the easiest and fastest way to bootstrap a Spring Boot Apache Camel Maven project:

mvn archetype:generate \
-DarchetypeGroupId=org.apache.camel.archetypes \
-DarchetypeArtifactId=camel-archetype-spring-boot \
-DarchetypeVersion=3.4.2 \
-DgroupId=com.dimitrisli \
-DartifactId=spring-boot-camel-app \
-Dversion=1.0.0-SNAPSHOT