Building Camel from Source
- Download and install Maven.
(Maven 2.2.1 or better is required to build Camel 2.5 onwards).
(Maven 3.0.2 or better is required to build Camel 2.10 onwards).
(Maven 3.0.4 or better is required to build Camel 2.11 onwards).
- Get the latest Source
- Java 1.6
(Java 1.5 is @deprecated and no longer supported from Camel 2.7 onwards)
(Java 1.7 is supported from Camel 2.10 onwards)
- Prince should be in the executable PATH to generate the PDF documentation
To build camel maven has to be configured to use more memory
A normal build
A normal build without running tests
A normal build without running tests but checkstyle verification enabled
Doing a Quick Build
Available as of Camel 2.6
The following skips building the manual, the distro and does not execute the unit tests.
Using an IDE
If you prefer to use an IDE then you can auto-generate the IDE's project files using maven plugins. e.g.
There are several ways to import the projects into Eclipse.
At this point, usage of the m2e plugins to import Camel into Eclipse does not work due to plugins without LifeCycle hints, bundle plugin configuration problems, etc... Patches, notes, etc... to help get this supported would be more than welcome.
The maven-eclipse-plugin can be used to generate the .classpath/.project/.settings file that Eclipse need. To do this, run:
Enable the apt Profile *explicitly* if using Java 6
Per default this profile is enabled only when using Java 7+ however for many of the Camel components you would still need the
org.apache.camel:spi-annotations Maven module on the class path inside the generated
.classpath of many Camel components. To force this on Java 6 do:
As otherwise some of the Camel components inside your eclipse workspace would not compile (when using Java 6) because the
org.apache.camel:spi-annotations Maven module would be missing on the class path.
The latter is recommended as it would completely setup the workspace for you as well as provide options to wire in other projects also found in your workspace.
After running the above command, from within Eclipse, do "File -> Import -> Existing Projects into Workspace", select the root camel checkout location and Eclipse should find all the projects.
Adding Camel Eclipse templates to your workspace
The above mentioned setup.eclipse profile does a few additional things to your workspace:
- Adds the Camel code templates (see here)
- Sets the M2_REPO variable in the workspace that points to your local Maven repository (i.e.,
~/.m2/repositoryon Unix and
c:\Documents and Settings\<user>\.m2\repositoryon Windows) which allows the jars to be resolved.
Hint: specify the workspace location in your .m2/settings.xml
You can add a profile to your .m2/settings.xml to specify your eclipse workspace location so you can avoid having to type that each time you need to update the projects.
Building with checkstyle
To enable source style checking with checkstyle, build Camel with the -Psourcecheck parameter
Building source jars
If you want to build jar files with the source code, that for instance Eclipse can important so you can debug the Camel code as well. Then you can run this command from the camel root folder:
Building with Spring 3.0
Support for Spring 3.0 is deprecated from Camel 2.11 onwards.
From Camel 2.11.0 onwards, if you want Camel to be build against Spring 3.0 you have to build with the maven profile
Building with Spring 3.1
From Camel 2.10.0 onwards, if you want Camel to be build against Spring 3.1 you have to build with the maven profile
From Camel 2.11.0 onwards, Spring 3.1 is the default.
camel-test-spring component requires to be built with Spring 3.1.
Building with Spring 3.2
From Camel 2.11.0 onwards, if you want Camel to be build against Spring 3.2 you have to build with the maven profile
From Camel 2.12.0 onwards, Spring 3.2 is the default.
Working with features
If you change anything in the features.xml from
platform/karaf you can run a validation step to ensure the generated features.xml file is correct. You can do this running the following maven goal from the