Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

java

Archetype

Description

camel-archetype-activemq

This archetype is used to create a new Maven project for Camel routes . You can use this quickly to get up to speed using Camel with ActiveMQ with Apache ActiveMQ embedded.

camel-archetype-blueprint

Camel 2.8: This archetype is used to create a new Maven project for Camel routes to be running in OSGi using Blueprint.

camel-archetype-component

This archetype is used for creating a new Maven project for Camel components Components. Use this if there is a component missing in Camel that you want to create yourself.

camel-archetype-cdiCamel 2.16: This archetype is used to create a new Maven project for Camel routes in the Java Container using CDI to configure components, endpoints and beans

camel-archetype-component-scala

Deprecated. Camel 2.10: This archetype is used for creating a new Maven project for Camel Components using Scala. Use this if there is a component missing in Camel that you want to create yourself. Deprecated to be removed in Camel 2.16 onwards.

camel-archetype-cxf-code-first-blueprint

Deprecated. Camel 2.12.2: This archetype is used creating a new Maven project for Camel with CXF exposing a web service using code-first style. This project is for OSGi Blueprint containers. Removed from Camel 2.18 onwards.

camel-archetype-cxf-contract-first-blueprint

Deprecated. Camel 2.12.1: This archetype is used creating a new Maven project for Camel with CXF exposing a web service using contract-first style. This project is for OSGi Blueprint containers. Removed from Camel 2.18 onwards.

camel-archetype-dataformat

Camel 2.9: This archetype is used for creating a new Maven project for Camel Data Formats. Use this if there is a data format missing in Camel that you want to create yourself.

camel-archetype-groovy

Camel 2.11: This archetype is used to create a new Maven project for Camel using Groovy DSL.

camel-archetype-java

This archetype is used to create a new Maven project for Camel routes using Java DSL. You can use this quickly to get up to speed. The archetypes includes sample code that supporting Spring style routing as well.

camel-archetype-scala

This archetype is used to create a new Maven projects for building Camel routes in the Scala DSL. The archetype contains a sample RouteBuilder as well as configuration for using the routes from Spring and OSGi

camel-archetype-scrThis archetype is used to create a new Maven project for building Camel routes using OSGI SCR Declarative Services

camel-archetype-spring

This archetype is used to create a new Maven project for Camel routes using Spring XML.

camel-archetype-spring-bootCamel 2.16: This archetype is used to create a new Maven project for Camel routes using Spring Boot.

camel-archetype-spring-dm

Camel 2.8: This archetype is used to create a new Maven project for Camel routes to be running in OSGi using Spring DM.

camel-archetype-war

Deprecated Camel 2.6 or older: This archetype is used to create a new Camel project that deploys the Camel Web Console, REST API, and your routes as a WAR file. You can use this quickly to get up to speed. It is very similar to the camel-archetype-java archetype with the Java DSL transposed to Spring XML.

camel-archetype-war webconsole

Deprecated Camel 2.7: This archetype is used to create a new Camel project that deploys the Camel Web Console, REST API, and your routes as a WAR file.

camel-archetype-web

Camel 2.7: This archetype is used to create a new Camel project that deploys Camel Routes using Spring or Java DSL as a WAR file.

The maven coordinates for these archetypes is the following:

Code Block
xml
xml
  <groupId>org.apache.camel.archetypes</groupId>
  <artifactId>${archetype-name}</artifactId>
  <version>${camel-version}</version>
Info

When using these archetypes, make sure your package name is not org.apache.camel (or a sub package of this) as this will instruct Camel to search in its own packages for your routes. This can also cause Camel not to start, as shown in CAMEL-1197.

...

If you would like to use an archetype from an unreleased version of Camel, you just need to let the maven-archetype-plugin know where to look for it. For example, say someone wanted to create a WAR based project based on Camel 2.9.0-SNAPSHOT. He'd need to use the following command

Code Block

mvn archetype:creategenerate \
  -DarchetypeGroupId=org.apache.camel.archetypes \
  -DarchetypeArtifactId=camel-archetype-warweb \
  -DarchetypeVersion=2.9.0-SNAPSHOT \
  -DarchetypeRepository=https://repository.apache.org/content/groups/snapshots-group

...

When the project is created, you may need to add another repository to the pom.xml file. This is to load a SNAPSHOT version of the camel-maven-plugin

Code Block

<pluginRepositories>
  <pluginRepository>
    <releases>
      <enabled>false</enabled>
    </releases>
    <snapshots/>
    <id>Apache Snapshot Repository</id>
    <url>http://repository.apache.org/snapshots</url>
  </pluginRepository>
</pluginRepositories>

...