Dependency management
A specific Camel Quarkus release is supposed to work only with a specific Quarkus release.
Quarkus Universe BOM
The easiest and most straightforward way to get the dependency versions right is to use code.quarkus.io.
It will produce a project with the io.quarkus:quarkus-universe-bom
set up in the <depependencyManagement>
section
of your pom.xml
file.
BOM stands for "Bill of Materials" - it is a |
quarkus-universe-bom
manages the artifacts from Quarkus, Camel Quarkus and other participating projects,
such as Hazelcast, Cassandra, Kogito, Optaplanner, etc.
This has the advantage that application developers do not need to care for the compatibility of the individual artifacts
that may come from various independent projects.
All artifacts managed by quarkus-universe-bom
are supposed to work together flawlessly.
Here is a stub of a pom.xml
file generated by code.quarkus.io:
<project>
...
<properties>
<quarkus.platform.version>2.0.0.Final</quarkus.platform.version>
...
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-universe-bom</artifactId>
<version>${quarkus.platform.version}</version>
<type>pom</type>
<scope>import</scope><!-- The BOM is imported in the <dependencyManagement> -->
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-timer</artifactId>
<!-- No explicit version required here and below -->
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-jackson</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-ftp</artifactId>
</dependency>
...
</dependencies>
...
</project>
Camel Quarkus BOM
As long as you do not plan to use any dependencies beyond those from Quarkus and Camel Quarkus,
you may consider switching to org.apache.camel.quarkus:camel-quarkus-bom
.
It manages all supported Camel artifacts and imports io.quarkus:quarkus-bom
.
Combining with other BOMs
When combining camel-quarkus-bom
or quarkus-universe-bom
with any other BOM,
think carefully in which order you import them,
because the order of imports defines the precedence.
What’s next?
We recommend to continue with Defining routes.