camel
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel</artifactId>
<version>4.20.0</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>37</version>
</parent>
<groupId>org.apache.camel</groupId>
<artifactId>camel</artifactId>
<version>4.20.0</version>
<packaging>pom</packaging>
<name>Camel</name>
<description>Camel Root POM</description>
<licenses>
<license>
<name>Apache-2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<properties>
<maven.compiler.release>${jdk.version}</maven.compiler.release>
<maven-remote-resources-plugin-version>3.3.0</maven-remote-resources-plugin-version>
<maven-release-plugin-version>3.3.1</maven-release-plugin-version>
<camel.javadoc.offline>false</camel.javadoc.offline>
<sonar.java.source>${jdk.version}</sonar.java.source>
<maven-invoker-plugin-version>3.9.1</maven-invoker-plugin-version>
<flatten-maven-plugin-version>1.7.3</flatten-maven-plugin-version>
<maven-dependency-plugin-version>3.10.0</maven-dependency-plugin-version>
<invoker.skip>${skipTests}</invoker.skip>
<maven-javadoc-plugin-version>3.12.0</maven-javadoc-plugin-version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<sonar.coverage.jacoco.xmlReportPaths>${maven.multiModuleProjectDirectory}/coverage/target/site/jacoco-aggregate/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
<site-repo-url>scpexe://people.apache.org/www/camel.apache.org/maven/</site-repo-url>
<sonar.cpd.exclusions>components/camel-jackson3/**,components/camel-jackson3xml/**,components/camel-test/camel-test-junit6/**</sonar.cpd.exclusions>
<minimalJavaBuildVersion>${jdk.version}</minimalJavaBuildVersion>
<license-maven-plugin-version>5.0.0</license-maven-plugin-version>
<templating-maven-plugin-version>3.1.0</templating-maven-plugin-version>
<maven.compiler.source>${jdk.version}</maven.compiler.source>
<versions-maven-plugin-version>2.21.0</versions-maven-plugin-version>
<maven-compiler-plugin-version>3.15.0</maven-compiler-plugin-version>
<os.detected.classifier>${nisse.os.classifier}</os.detected.classifier>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven-assembly-plugin-version>3.8.0</maven-assembly-plugin-version>
<jacoco-version>0.8.14</jacoco-version>
<maven-enforcer-plugin-version>3.6.2</maven-enforcer-plugin-version>
<maven.compiler.target>${jdk.version}</maven.compiler.target>
<maven-surefire-plugin-version>3.5.5</maven-surefire-plugin-version>
<project.build.outputTimestamp>2026-04-23T14:59:56Z</project.build.outputTimestamp>
<cyclonedx-maven-plugin-version>2.9.1</cyclonedx-maven-plugin-version>
<jdk.version>17</jdk.version>
<enforcer.phase>none</enforcer.phase>
</properties>
<build>
<defaultGoal>install</defaultGoal>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>${license-maven-plugin-version}</version>
<configuration>
<failIfUnknown>true</failIfUnknown>
<licenseSets>
<licenseSet>
<header>${maven.multiModuleProjectDirectory}/buildingtools/src/main/resources/header.txt</header>
<excludes>
<exclude>release.properties</exclude>
<exclude>**/pom.xml.tag</exclude>
<exclude>**/pom.xml.releaseBackup</exclude>
<exclude>**/*.MockMaker</exclude>
<exclude>**/*.adm</exclude>
<exclude>**/*.adoc.template</exclude>
<exclude>**/*.adoc</exclude>
<exclude>**/*.arff</exclude>
<exclude>**/*.asn1</exclude>
<exclude>**/*.avpr</exclude>
<exclude>**/*.avsc</exclude>
<exclude>**/*.bin</exclude>
<exclude>**/*.cat</exclude>
<exclude>**/*.cer</exclude>
<exclude>**/*.channel</exclude>
<exclude>**/*.chtml</exclude>
<exclude>**/*.crt</exclude>
<exclude>**/*.csv</exclude>
<exclude>**/*.dwl</exclude>
<exclude>**/*.event</exclude>
<exclude>**/*.gif</exclude>
<exclude>**/*.gpg</exclude>
<exclude>**/*.graphdef</exclude>
<exclude>**/*.graphql*</exclude>
<exclude>**/*.ics</exclude>
<exclude>**/*.joor</exclude>
<exclude>**/*.jpeg</exclude>
<exclude>**/*.jpg</exclude>
<exclude>**/*.jslt</exclude>
<exclude>**/*.key</exclude>
<exclude>**/*.keystore</exclude>
<exclude>**/*.mar</exclude>
<exclude>**/*.model</exclude>
<exclude>**/*.mvel</exclude>
<exclude>**/*.mp3</exclude>
<exclude>**/*.mp4</exclude>
<exclude>**/*.p12</exclude>
<exclude>**/*.params</exclude>
<exclude>**/*.parquet</exclude>
<exclude>**/*.pb</exclude>
<exclude>**/*.pbtxt</exclude>
<exclude>**/*.pem</exclude>
<exclude>**/*.pfx</exclude>
<exclude>**/*.pgp</exclude>
<exclude>**/*.tm</exclude>
<exclude>**/*.truststore</exclude>
<exclude>**/*.tt</exclude>
<exclude>**/*.txt</exclude>
<exclude>**/*.webp</exclude>
<exclude>**/*.xquery</exclude>
<exclude>**/*utf16.ftl</exclude>
<exclude>**/*utf16.vm</exclude>
<exclude>**/.eslint*</exclude>
<exclude>**/.pnp*</exclude>
<exclude>**/*.jte</exclude>
<exclude>**/.yarn/**</exclude>
<exclude>**/.yarnrc.yml</exclude>
<exclude>**/CamelJBang.java</exclude>
<exclude>**/LICENSE.txt</exclude>
<exclude>**/LICENSE</exclude>
<exclude>**/META-INF/cxf/**</exclude>
<exclude>**/META-INF/groovy/**</exclude>
<exclude>**/META-INF/kotlin/**</exclude>
<exclude>**/META-INF/persistence*.xsd</exclude>
<exclude>**/MySecondBarConfigurer.java</exclude>
<exclude>**/MySecondFooConfigurer.java</exclude>
<exclude>**/NOTICE.txt</exclude>
<exclude>**/NOTICE</exclude>
<exclude>**/README</exclude>
<exclude>**/TestImpl*</exclude>
<exclude>**/archetype-resources/**</exclude>
<exclude>**/ca-openssl.cnf</exclude>
<exclude>**/openssl-ca.cnf</exclude>
<exclude>**/openssl-server.cnf</exclude>
<exclude>**/keystore</exclude>
<exclude>**/cacerts</exclude>
<exclude>**/cert_user_ca</exclude>
<exclude>**/cert_host_ca</exclude>
<exclude>**/cert_user_key</exclude>
<exclude>**/cert_host_key</exclude>
<exclude>**/cxf.extension</exclude>
<exclude>**/dhis.conf</exclude>
<exclude>**/driver.conf</exclude>
<exclude>**/expressions.spec</exclude>
<exclude>**/git.config</exclude>
<exclude>**/id_file</exclude>
<exclude>**/id_rsa</exclude>
<exclude>**/test-key-ecdsa</exclude>
<exclude>**/test-key-rsa-encrypted</exclude>
<exclude>**/test-ca-key</exclude>
<exclude>**/test-key-ed25519</exclude>
<exclude>**/test-key-rsa</exclude>
<exclude>**/ignite/**</exclude>
<exclude>**/it/resources/*.connectedApp</exclude>
<exclude>**/it/resources/salesforce/**</exclude>
<exclude>**/it/resources/sfdx-project/.sf/**</exclude>
<exclude>**/it/resources/sfdx-project/.sfdx/**</exclude>
<exclude>**/it/resources/sfdx-project/salesforce-source/**</exclude>
<exclude>**/javamail.default.*</exclude>
<exclude>**/kafka*.config</exclude>
<exclude>**/known_hosts*</exclude>
<exclude>**/leveldb.dat/**</exclude>
<exclude>**/mosquitto.conf</exclude>
<exclude>**/myjaas.config</exclude>
<exclude>**/node_modules/**</exclude>
<exclude>**/salesforce/dto/generated/**</exclude>
<exclude>**/src/generated/**</exclude>
<exclude>**/src/generated/**</exclude>
<exclude>**/src/main/resources/templates/*.tmpl</exclude>
<exclude>**/src/test/resources/generated/**</exclude>
<exclude>**/test-kerb5.conf</exclude>
<exclude>**/variables/variables.data-*-of-*</exclude>
<exclude>**/variables/variables.index</exclude>
<exclude>**/yarn.lock</exclude>
<exclude>**/zkserver*.conf</exclude>
<exclude>**/*.wasm</exclude>
<exclude>**/*.lock</exclude>
<exclude>.claude/**</exclude>
<exclude>.omc/**</exclude>
<exclude>.mvn/**</exclude>
<exclude>.sdkmanrc</exclude>
<exclude>KEYS</exclude>
<exclude>camel-sbom/*.xml</exclude>
<exclude>doap.rdf</exclude>
<exclude>mvnw*</exclude>
<exclude>**/camelw</exclude>
<exclude>**/FileSplitXPathCharsetTest-input.xml</exclude>
<exclude>**/.camel-jbang-run/**</exclude>
<exclude>**/camel-jbang-run.properties</exclude>
<exclude>**/javax.annotations.processing.Processor</exclude>
<exclude>**/helm/etc/**</exclude>
<exclude>**/examples/*</exclude>
<exclude>**/*.wav</exclude>
</excludes>
</licenseSet>
</licenseSets>
<mapping>
<Adapter>CAMEL_PROPERTIES_STYLE</Adapter>
<conf>SCRIPT_STYLE</conf>
<Dockerfile.jvm>SCRIPT_STYLE</Dockerfile.jvm>
<Dockerfile.legacy-jar>SCRIPT_STYLE</Dockerfile.legacy-jar>
<Dockerfile.native-micro>SCRIPT_STYLE</Dockerfile.native-micro>
<Dockerfile.native>SCRIPT_STYLE</Dockerfile.native>
<Dockerfile>SCRIPT_STYLE</Dockerfile>
<Jenkinsfile>SLASHSTAR_STYLE</Jenkinsfile>
<Jenkinsfile.deploy>SLASHSTAR_STYLE</Jenkinsfile.deploy>
<Jenkinsfile.dryrun>SLASHSTAR_STYLE</Jenkinsfile.dryrun>
<Jenkinsfile.jbangtest>SLASHSTAR_STYLE</Jenkinsfile.jbangtest>
<atom>XML_STYLE</atom>
<bpmn>XML_STYLE</bpmn>
<camel-eclipse-pmd>XML_STYLE</camel-eclipse-pmd>
<cql>DOUBLEDASHES_STYLE</cql>
<ds>SLASHSTAR_STYLE</ds>
<gdsl>SLASHSTAR_STYLE</gdsl>
<ini>SCRIPT_STYLE</ini>
<java>SLASHSTAR_STYLE</java>
<javamail.providers>CAMEL_PROPERTIES_STYLE</javamail.providers>
<jaxb.index>CAMEL_PROPERTIES_STYLE</jaxb.index>
<jj>DOUBLESLASH_STYLE</jj>
<jnanorc>CAMEL_PROPERTIES_STYLE</jnanorc>
<jsh>SLASHSTAR_STYLE</jsh>
<kts>SLASHSTAR_STYLE</kts>
<ldif>LDIF_STYLE</ldif>
<libsonnet>SLASHSTAR_STYLE</libsonnet>
<motd>SCRIPT_STYLE</motd>
<mvel>MVEL_STYLE</mvel>
<nanorc>CAMEL_PROPERTIES_STYLE</nanorc>
<properties>CAMEL_PROPERTIES_STYLE</properties>
<proto>SLASHSTAR_STYLE</proto>
<qf.cfg>CAMEL_PROPERTIES_STYLE</qf.cfg>
<robot>SCRIPT_STYLE</robot>
<rs>DOUBLESLASH_STYLE</rs>
<sch>XML_STYLE</sch>
<spring.factories>CAMEL_PROPERTIES_STYLE</spring.factories>
<spring.handlers>CAMEL_PROPERTIES_STYLE</spring.handlers>
<spring.provides>CAMEL_PROPERTIES_STYLE</spring.provides>
<spring.schemas>CAMEL_PROPERTIES_STYLE</spring.schemas>
<sql>DOUBLEDASHES_STYLE</sql>
<thrift>JAVADOC_STYLE</thrift>
<toml>SCRIPT_STYLE</toml>
<unrealircd.conf>SLASHSTAR_STYLE</unrealircd.conf>
<vm>CAMEL_PROPERTIES_STYLE</vm>
</mapping>
<headerDefinitions>
<headerDefinition>${maven.multiModuleProjectDirectory}/buildingtools/src/main/resources/license-properties-headerdefinition.xml</headerDefinition>
<headerDefinition>${maven.multiModuleProjectDirectory}/buildingtools/src/main/resources/ldif-properties-headerdefinition.xml</headerDefinition>
</headerDefinitions>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>${maven-assembly-plugin-version}</version>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>${maven-dependency-plugin-version}</version>
</plugin>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${maven-enforcer-plugin-version}</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin-version}</version>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven-surefire-plugin-version}</version>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin-version}</version>
</plugin>
<plugin>
<artifactId>maven-remote-resources-plugin</artifactId>
<version>${maven-remote-resources-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<configuration>
<excludeSubProjects>false</excludeSubProjects>
<excludes>
<exclude>**/generated/**</exclude>
<exclude>**/generated.txt</exclude>
<exclude>**/*.json</exclude>
<exclude>**/README</exclude>
<exclude>**/README.txt</exclude>
<exclude>**/README.md</exclude>
<exclude>**/ReadMe.md</exclude>
<exclude>**/resources/**/*.xsd</exclude>
<exclude>**/webapp/js/**/*</exclude>
<exclude>**/test/resources/**/*</exclude>
<exclude>**/test/data*/**/*</exclude>
<exclude>.gitignore</exclude>
<exclude>.git/**/*</exclude>
<exclude>**/*.adoc</exclude>
<exclude>**/*.adoc.template</exclude>
<exclude>**/*.md</exclude>
<exclude>**/*.sh</exclude>
<exclude>**/*.bat</exclude>
<exclude>**/*.tmpl</exclude>
<exclude>**/java9-maven-settings</exclude>
<exclude>**/*.pfx</exclude>
<exclude>**/component-header.mvel</exclude>
<exclude>**/component-options.mvel</exclude>
<exclude>**/endpoint-options.mvel</exclude>
<exclude>**/dataformat-options.mvel</exclude>
<exclude>**/annotation-options.mvel</exclude>
<exclude>**/eip-options.mvel</exclude>
<exclude>**/language-options.mvel</exclude>
<exclude>**/main-options.mvel</exclude>
<exclude>**/website-components-list.mvel</exclude>
<exclude>**/website-languages-list.mvel</exclude>
<exclude>**/website-others-list.mvel</exclude>
<exclude>**/website-dataformats-list.mvel</exclude>
<exclude>**/readme-examples.mvel</exclude>
<exclude>**/camel-NOTICE.txt</exclude>
<exclude>**/src/main/resources/META-INF/cxf/cxf.extension</exclude>
<exclude>**/src/main/resources/META-INF/cxf/bus-extensions.txt</exclude>
<exclude>**/src/signatures/*.txt</exclude>
<exclude>**/CometDReplayExtension.java</exclude>
<exclude>**/LICENSE-SALESFORCE.txt</exclude>
<exclude>**/LICENSE-ICU4J.txt</exclude>
<exclude>**/sfdx-project/**</exclude>
<exclude>**/mdnDescription.vm</exclude>
<exclude>**/src/main/resources/*.wid</exclude>
<exclude>**/node/**</exclude>
<exclude>**/node_modules/**</exclude>
<exclude>**/user-manual/**</exclude>
<exclude>**/yarn.lock</exclude>
<exclude>**/docs/**/*</exclude>
<exclude>**/yarn*.cjs</exclude>
<exclude>**/build-state.yml</exclude>
<exclude>**/target/**/*</exclude>
<exclude>**/eclipse-classes/**/*</exclude>
<exclude>**/.*</exclude>
<exclude>**/.settings/**/*</exclude>
<exclude>**/*.iml</exclude>
<exclude>**/.idea/**/*</exclude>
<exclude>**/avro/**/*.avpr</exclude>
<exclude>**/OSGI-INF/bundle.info</exclude>
<exclude>**/test_rsa*</exclude>
<exclude>**/data*/**/*.xml</exclude>
<exlucde>**/*.log</exlucde>
<exclude>**/id_file</exclude>
<exclude>**/dependency-reduced-pom.xml</exclude>
<exclude>**/Dropbox_API_Terms_and_Conditions.txt</exclude>
<exclude>**/MerchandiseRestResource.apxc</exclude>
<exclude>**/file-sig-api.txt</exclude>
<exclude>**/Tasks__c.java</exclude>
<exclude>**/*.proto</exclude>
<exclude>**/*.pbtxt</exclude>
<exclude>**/src/main/resources/META-INF/services/org.kie.server.services.api.KieServerExtension</exclude>
<exclude>**/helm/etc/**/*</exclude>
<exclude>**/META-INF/MANIFEST.MF</exclude>
<exclude>**/openapi.yaml</exclude>
<exclude>**/ignite/work/**/*</exclude>
<exclude>**/MySecondFooConfigurer.java</exclude>
<exclude>**/MySecondBarConfigurer.java</exclude>
<exclude>**/stockquote-response.xml</exclude>
<exclude>**/quarkus-pom.ftl</exclude>
<exclude>**/quarkus-docker/*</exclude>
<exclude>.github/**/*</exclude>
<exclude>**/.camel-jbang-run/**/*</exclude>
<exclude>**/.camel-jbang/**/*</exclude>
<exclude>**/commands/edit/edit-help.txt</exclude>
<exclude>**/examples/*</exclude>
<exclude>**/src/main/resources/testdata/**/*</exclude>
<exclude>.claude/**/*</exclude>
<exclude>.omc/**/*</exclude>
<exclude>.mvn/**/*</exclude>
<exclude>**/maven-wrapper/*</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>${maven-release-plugin-version}</version>
<configuration>
<localCheckout>true</localCheckout>
<pushChanges>true</pushChanges>
<tagNameFormat>@{project.artifactId}-@{project.version}</tagNameFormat>
<useReleaseProfile>false</useReleaseProfile>
<preparationGoals>clean install</preparationGoals>
<goals>deploy</goals>
<arguments>-Prelease</arguments>
<autoVersionSubmodules>true</autoVersionSubmodules>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>templating-maven-plugin</artifactId>
<version>${templating-maven-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>${versions-maven-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<version>${flatten-maven-plugin-version}</version>
<executions>
<execution>
<id>default-cli</id>
<phase>process-resources</phase>
<goals>
<goal>flatten</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
<flattenedPomFilename>${project.artifactId}-${project.version}.pom</flattenedPomFilename>
<updatePomFile>true</updatePomFile>
<pomElements>
<build>keep</build>
<dependencyManagement>keep</dependencyManagement>
<description>keep</description>
<name>keep</name>
<parent>expand</parent>
<pluginManagement>keep</pluginManagement>
<profiles>remove</profiles>
<properties>keep</properties>
</pomElements>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-invoker-plugin</artifactId>
<version>${maven-invoker-plugin-version}</version>
<configuration>
<skipInstallation>${invoker.skip}</skipInstallation>
<skipInvocation>${invoker.skip}</skipInvocation>
<mavenOpts>-Xmx64m -XshowSettings</mavenOpts>
<showVersion>true</showVersion>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-maven-version</id>
<phase>${enforcer.phase}</phase>
<configuration>
<rules>
<requireMavenVersion>
<version>[3.9.6,)</version>
</requireMavenVersion>
<externalRules>
<location>${maven.multiModuleProjectDirectory}/tooling/enforcer-rules/src/main/resources/camel-banned-dependencies.xml</location>
</externalRules>
</rules>
</configuration>
</execution>
<execution>
<id>enforce-java-version</id>
<phase>${enforcer.phase}</phase>
<configuration>
<rules>
<requireJavaVersion>
<version>[21,)</version>
<message>JDK 21+ is required to build Apache Camel. JDK 21-specific classes (e.g., virtual thread support in camel-util) are only compiled with JDK 21+. Building with JDK 17 silently omits these classes from the resulting JARs.</message>
</requireJavaVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-remote-resources-plugin</artifactId>
<executions>
<execution>
<id>process-resource-bundles</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<executions>
<execution>
<id>default-test</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
<executions>
<execution>
<id>attach-descriptor</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<configuration>
<outputDirectory>target</outputDirectory>
</configuration>
</plugin>
</plugins>
</build>
</project>