Chapter 2. Dependency management


A specific Camel Quarkus release is supposed to work only with a specific Quarkus release.

2.1. Quarkus BOM

The core Quarkus dependencies are managed via com.redhat.quarkus.quarkus:quarkus-bom. This BOM does not manage the additional Quarkus extensions (for example Camel Quarkus or Kubernetes), so there are other BOMs available for you to use in your projects that contain import quarkus-bom.

Note

BOM stands for "Bill of Materials" - it is a pom.xml whose main purpose is to manage the versions of artifacts so that end users importing the BOM in their projects do not need to care which particular versions of the artifacts are supposed to work together. In other words, having a BOM imported in the <depependencyManagement> section of your pom.xml allows you to avoid specifying versions for the dependencies managed by the given BOM.

2.2. Camel Quarkus BOM

As long as you do not plan to use any dependencies beyond those from Quarkus and Camel Quarkus, you should use org.apache.camel.quarkus:camel-quarkus-bom which manages all supported Camel artifacts and imports com.redhat.quarkus.quarkus:quarkus-bom.

Warning

For this technology preview, do not use com.redhat.quarkus:quarkus-universe-bom as it does not contain the supported Camel extensions included in this release.

2.3. Combining with other BOMs

When combining camel-quarkus-bom with any other BOM, think carefully in which order you import them, because the order of imports defines the precedence.

For example, if my-foo-bom is imported before camel-quarkus-bom then the artifact versions defined in my-foo-bom will take the precedence. This may or may not be what you intend, depending on whether or not there are any overlapping actifacts in your my-foo-bom and camel-quarkus-bom. Additionally, you may also need to consider if those artifact versions in my-foo-bom with a higher precedence are compatible with the rest of the artifacts managed in camel-quarkus-bom.

Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.