Apache Camel + Spring Boot + Docker + Release plugin

camel, java, apache, spring, yeoman-generator
npm install generator-camel@1.2.1


NPM version Travis Status Dependency Status Coverage Status

Apache Camel + Spring Boot + Docker project generator

  • Brings SpringBoot auto-configuration to Apache Camel
  • Auto-detection and spring context registration of producers templates, consumer templates and type converter, thanks to Camel Spring Boot component.
  • Generates an executable jar that can be easily started as Unix/Linux services using either init.d or systemd, thanks to Spring Boot Maven Plugin.
  • Easy creation of docker image for the application, using spotify provided Docker Maven Plugin


To generate a new project, we assume you have pre-installed


brew install nodejs


npm install -g yeoman

Camel Generator

npm install -g generator-camel

To build the generated project, we assume you have pre-installed


brew install maven

Docker - Installation


1. Create new project:

mkdir myproject
cd myproject
yo camel

2. Project structure

├──                                          Project Readme file
├── pom.xml                                            Maven Project Object Model file
└── src
    ├── main
    │   ├── java
    │   │   └── com
    │   │       └── yourpackage
    │   │           ├── beans
    │   │           │   └──               Camel Bean Example
    │   │           └── routes
    │   │               ├──   Bootstrap the app
    │   │               └──             Camel Route Example
    │   └── resources
    │       └── application.yml                       Properties ( file
    └── test
        ├── java
        └── resources

3. Build the project

Generate the JAR package.

mvn package

Generate with the Docker image

mvn package docker:build

4. Running the project

Using maven

mvn spring-boot:run

As a docker container

docker run -t appName

As a Linux service

As a Windows Service

5. Release (optional)

1 - Initialize local git repository and do the first commit, at project root directory

git init
git add .
git commit -am'Initial commit'

2 - Start a local maven and git servers using docker-compose.

cd src/main/docker/ci
docker-compose up -d

3 - Create the remote source code repository

docker-compose exec --user gitblit gitblit git init /opt/gitblit-data/git/appName.git --bare

4 - Doing a simple release (will ask for release versions information)

mvn release:prepare
mvn release:perform

Maven Release Plugin use tag in settings.xml as credentials to authenticate on each server, SCM repository and maven repository server e.g.


With maven 3.2.1+, the password can be encrypted as. Details here.

mvn --encrypt-master-password
mvn --encrypt-password

Building this generator

Install dependencies

npm install




gulp test


Apache-2.0 © Rodrigo Valerio