6.8. 导出至红帽构建的 Apache Camel for Quarkus


您可以将 Camel CLI 集成 导出到 传统的基于 Java 的项目。在使用 Camel CLI 构建原型后,您可能需要执行此操作,并且需要更需要 Java 编码的传统基于 Java 的项目,或使用 Quarkus 或 vanilla Camel Main 的强大的运行时。

6.8.1. 导出至红帽构建的 Apache Camel for Quarkus

命令 export --runtime=quarkus 会将您当前的 Camel CLI 文件导出到基于 Maven 的项目,并在 src/main/ 文件夹结构中组织的文件。

例如,要使用 quarkus 运行时导出,maven groupID com.foo, artifactId acme, 和版本 1.0-SNAPSHOTcamel-quarkus-jbang 目录中,请运行:

Example

camel export --runtime=quarkus --gav=com.foo:acme:1.0-SNAPSHOT --quarkus-group-id=com.redhat.quarkus.platform --quarkus-version=3.15.4.redhat-00001 --dep=org.apache.camel.quarkus:camel-quarkus-timer,org.apache.camel.quarkus:camel-quarkus-management,org.apache.camel.quarkus:camel-quarkus-cli-connector --repos=https://maven.repository.redhat.com/ga,https://packages.atlassian.com/maven-external --directory=camel-quarkus-jbang
Copy to Clipboard Toggle word wrap

注意

这将导出到 当前目录,这意味着文件被移到所需的文件夹结构中。

要导出到另一个目录,请运行:

camel export --runtime=quarkus --gav=com.foo:acme:1.0-SNAPSHOT --directory=../myproject
Copy to Clipboard Toggle word wrap

在导出时,pom.xmlbuild.gradle 中定义的 Camel 版本与 Camel CLI 使用的版本相同。但是,您可以指定不同的 Camel 版本,如下所示:

camel export --runtime=quarkus --gav=com.foo:acme:1.0-SNAPSHOT --directory=../myproject --quarkus-version=3.15.4.redhat-00001
Copy to Clipboard Toggle word wrap
注意

如需了解更多详细信息,请参阅运行 camel export --help 命令。

6.8.2. 使用 Camel CLI 导出包括

当导出到 Quarkus 或 Camel Main 时,不包括 Camel JBang CLI。要继续使用 Camel CLI (即 camel),您需要在- dep 选项中添加 camel:cli-connector,如下所示:

camel export --runtime=quarkus --gav=com.foo:acme:1.0-SNAPSHOT --dep=camel:cli-connector --directory=../myproject
Copy to Clipboard Toggle word wrap

6.8.3. 配置导出

export 命令默认从 application.properties 文件加载配置,该文件用于导出特定参数,如选择运行时和 java 版本。

导出 相关的以下选项可以在 application.properties 文件中配置:

Expand
选项Description

camel.jbang.runtime

Runtime (quarkus, 或 camel-main)

camel.jbang.gav

Maven group:artifact:version

camel.jbang.dependencies

其他依赖项(使用逗号分隔多个依赖项)。请参阅 添加自定义 JAR 的更多详细信息。

camel.jbang.classpathFiles

要添加到类路径的额外文件(使用逗号分隔多个文件)。请参阅 添加自定义 JAR 的更多详细信息。

camel.jbang.javaVersion

Java 版本(11 或 17)

camel.jbang.kameletsVersion

Apache Camel Kamelets 版本

camel.jbang.localKameletDir

用于加载 Kamelets 的本地目录

camel.jbang.quarkusGroupId

Quarkus Platform Maven groupId

camel.jbang.quarkusArtifactId

Quarkus Platform Maven artifactId

camel.jbang.quarkusVersion

Quarkus Platform 版本

camel.jbang.mavenWrapper

在导出的项目中包括 Maven Wrapper 文件

camel.jbang.gradleWrapper

在导出的项目中包括 Gradle Wrapper 文件

camel.jbang.buildTool

要使用的构建工具(maven 或 gradle)

camel.jbang.repos

用于下载按需提供的其他 maven 存储库(使用逗号分隔多个存储库)

camel.jbang.mavenSettings

maven setting.xml 文件的可选位置,以配置服务器、存储库、镜像和代理。如果设置为 false,则不会使用默认的 ~/.m2/settings.xml。

camel.jbang.mavenSettingsSecurity

用于解密 settings.xml 的 maven settings-security.xml 文件的可选位置

camel.jbang.exportDir

导出项目的目录。

camel.jbang.platform-http.port

运行独立 Camel 时使用的 HTTP 服务器端口,如启用 --console 时(默认为端口 8080)。

camel.jbang.console

运行独立 Camel 时,位于本地 HTTP 服务器上的 /q/dev 的开发人员控制台(默认为端口 8080)

camel.jbang.health

运行独立 Camel 时,位于本地 HTTP 服务器上的 /q/health (端口 8080)上的健康检查。

注意

这些是 export 命令的选项。要查看更多详细信息和默认值,请运行: camel export --help

6.8.4. 配置

Camel CLI config 命令用于存储和使用用户配置。这消除了每次都指定 CLI 选项的需求。例如,要运行不同的 Camel 版本,请使用:

Example

camel run * --camel-version=4.8
Copy to Clipboard Toggle word wrap

camel-version 可以添加到用户配置中,例如:

camel config set camel-version=4.8
Copy to Clipboard Toggle word wrap

run 命令使用用户配置:

camel run *
Copy to Clipboard Toggle word wrap

用户配置文件存储在 ~/.camel-jbang-user.properties 中。

6.8.4.1. 设置和取消设置配置

每个 Camel CLI 选项都会添加到用户配置中。例如:

Example

camel config set gav=com.foo:acme:1.0-SNAPSHOT
camel config set runtime=quarkus
camel config set deps=org.apache.camel.quarkus:camel-timer,camel:management,camel:cli-connector
camel config set camel-version=4.8
camel config set camel-quarkus-version=3.15
Copy to Clipboard Toggle word wrap

导出配置:

camel export
Copy to Clipboard Toggle word wrap

初始化 camel 应用程序:

camel init foo.yaml
Copy to Clipboard Toggle word wrap

运行 camel 应用程序:

camel run foo.yaml --https://maven.repository.redhat.com/ga,https://packages.atlassian.com/maven-external
Copy to Clipboard Toggle word wrap

要取消设置用户配置密钥:

camel config unset camel-quarkus-version
Copy to Clipboard Toggle word wrap

6.8.4.2. 列出和获取配置

使用以下方法列出用户配置密钥:

camel config list
Copy to Clipboard Toggle word wrap

以上配置给出以下输出:

runtime = quarkus
deps = org.apache.camel.springboot:camel-timer-starter
gav = com.foo:acme:1.0-SNAPSHOT
Copy to Clipboard Toggle word wrap

要获取给定键的值,请使用 get 命令。

camel config get gav

com.foo:acme:1.0-SNAPSHOT
Copy to Clipboard Toggle word wrap

6.8.4.3. 占位符替换

用户配置值可以用作占位符替换命令行属性,例如:

Example

camel config set repos=https://maven.repository.redhat.com/ga

camel run 'Test.java' --logging-level=info --repos=#repos,https://packages.atlassian.com/maven-external
Copy to Clipboard Toggle word wrap

在本例中,因为仓库是在用户配置(config set)中设置的,camel run 命令声明占位符 #repos,camel run 将替换占位符,以便在执行过程中同时使用这两个存储库。请注意,要引用配置值,语法为 #optionName eg #repos。

注意

占位符替换仅适用于给定 Camel 命令具有的每个选项。您可以使用 camel run --help 查看命令的所有选项。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat