4.7. Red Hat build of Apache Camel for Spring Boot へのエクスポート


Camel CLI 統合を Spring Boot や Quarkus などの従来の Java ベースのプロジェクトに export できます。Camel CLI を使用してプロトタイプをビルドした後、Java コーディングがさらに必要な従来の Java ベースのプロジェクトが必要な場合、または Spring Boot、Quarkus、もしくは vanilla Camel Main の強力なランタイムを使用する場合に、これを実行するとよいでしょう。

4.7.1. Red Hat build of Apache Camel for Spring Boot へのエクスポート

コマンド export --runtime=spring-boot は、現在の Camel CLI ファイルを、src/main/ フォルダー構造で編成されたファイルとともに Maven ベースの Spring Boot プロジェクトにエクスポートします。

たとえば、Maven の groupId com.foo と artifactId acme を使用し、バージョン 1.0-SNAPSHOT を使用して Spring Boot にエクスポートするには、次のコマンドを実行します。

camel export --runtime=spring-boot --gav=com.foo:acme:1.0-SNAPSHOT
Copy to Clipboard Toggle word wrap
注記

これにより、current ディレクトリーにエクスポートされます。これは、ファイルが必要なフォルダー構造に移動されることを意味します。

別のディレクトリーにエクスポートするには、次を実行します。

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

Spring Boot にエクスポートする場合、pom.xml または build.gradle で定義された Camel バージョンは、Camel CLI が使用するバージョンと同じです。ただし、次のように別の Camel バージョンを指定できます。

camel export --runtime=spring-boot --gav=com.foo:acme:1.0-SNAPSHOT --directory=../myproject --camel-spring-boot-version=4.0.0.redhat-00045
Copy to Clipboard Toggle word wrap
注記

詳細は、camel export --help コマンドを実行して、使用可能なオプションを確認してください。

4.7.2. Camel CLI を含めたエクスポート

Spring Boot、Quarkus、または Camel Main にエクスポートする場合、Camel JBang CLI はそのままでは含まれません。Camel CLI (Camel) を引き続き使用するには、次のように --deps オプションに Camel:cli-connector を追加する必要があります。

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

4.7.3. エクスポートの設定

デフォルトでは、export コマンドは application.properties ファイルから設定をロードします。このファイルは、ランタイムや Java バージョンの選択などの特定のパラメーターをエクスポートするために使用されます。

exporting に関連する次のオプションは、application.properties ファイルで設定できます。

Expand
オプション説明

camel.jbang.runtime

ランタイム (Spring-Boot、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 Kameletes のバージョン

camel.jbang.localKameletDir

Kamelets をロードするためのローカルディレクトリー

camel.jbang.camelSpringBootVersion

Spring Boot で使用する Camel バージョン

camel.jbang.springBootVersion

Spring Boot バージョン

camel.jbang.quarkusGroupId

Quarkus Platform Maven groupId

camel.jbang.quarkusArtifactId

Quarkus Platform Maven artifactId

camel.jbang.quarkusVersion

Quarkus Platform バージョン

camel.jbang.mavenWrapper

エクスポートされたプロジェクトに Maven ラッパーファイルを含める

camel.jbang.gradleWrapper

エクスポートされたプロジェクトに Gradle Wrapper ファイルを含める

camel.jbang.buildTool

使用するビルドツール (maven または gradle)

camel.jbang.repos

オンデマンドでダウンロードするための追加の Maven リポジトリー (複数のリポジトリーを区切るにはコンマを使用します)

camel.jbang.mavenSettings

サーバー、リポジトリー、ミラー、プロキシーを設定するための Maven settings.xml ファイルのオプションの場所。false に設定すると、デフォルトの ~/.m2/settings.xml も使用されません。

camel.jbang.mavenSettingsSecurity

settings.xml を復号化するための Maven settings-security.xml ファイルのオプションの場所

camel.jbang.exportDir

プロジェクトがエクスポートされるディレクトリー。

camel.jbang.platform-http.port

--console が有効な場合など、スタンドアロン Camel を実行するときに使用する HTTP サーバーポート (デフォルトではポート 8080)。

camel.jbang.console

スタンドアロン Camel を実行している場合、ローカル HTTP サーバー (デフォルトではポート 8080) 上の /q/dev にある開発者コンソール。

camel.jbang.health

スタンドアロン Camel を実行している場合は、ローカル HTTP サーバー (デフォルトではポート 8080) の /q/health でヘルスチェックを行います。

注記

これらは、export コマンドのオプションです。Camel export --help を使用すると、詳細とデフォルト値を確認できます。

4.7.4. Configuration

Camel CLI の config コマンドは、ユーザー設定を保存および使用するために使用します。これにより、毎回 CLI オプションを指定する必要がなくなります。たとえば、別の Camel バージョンを実行するには、次を使用します。

camel run * --camel-version=4.0.0.redhat-00036
Copy to Clipboard Toggle word wrap

camel-version は次のようなユーザー設定に追加できます。

camel config set camel-version=4.0.0.redhat-00036
Copy to Clipboard Toggle word wrap

run コマンドはユーザー設定を使用します。

camel run *
Copy to Clipboard Toggle word wrap

ユーザー設定ファイルは ~/.camel-jbang-user.properties に保存されます。

4.7.4.1. 設定と設定解除

すべての Camel CLI オプションはユーザー設定に追加されます。たとえば、次のような単純なプロジェクトをエクスポートするには、以下を実行します。

camel init foo.yaml
camel config set gav=com.foo:acme:1.0-SNAPSHOT
camel config set runtime=spring-boot
camel config set deps=org.apache.camel.springboot:camel-timer-starter
camel config set camel-spring-boot-version=4.0.0.redhat-00045
camel config set additional-properties=openshift-maven-plugin-version=1.13.1.redhat-00057

camel export
Copy to Clipboard Toggle word wrap

ユーザー設定キーを設定解除するには、以下を使用します。

camel config unset camel-spring-boot-version
Copy to Clipboard Toggle word wrap

4.7.4.2. 設定のリスト表示と取得

ユーザー設定キーをリスト表示するには、以下を使用します。

camel config list
Copy to Clipboard Toggle word wrap

上記の設定の出力は次のとおりです。

runtime = spring-boot
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

4.7.4.3. プレースホルダー置換

ユーザー設定値は、コマンドラインプロパティーのプレースホルダーとして使用できます。次に例を示します。

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 (例: #repos) であることに注意してください。

注記

プレースホルダー置換は、特定の Camel コマンドが持つ各オプションに対してのみ機能します。camel run --help を使用すると、コマンドが持つすべてのオプションを確認できます。

4.7.5. トラブルシューティング

JBang を使用すると、状態が ~/.jbang ディレクトリーに保存されます。これは、JBang がダウンロードした JAR を保存する場所でもあります。Camel CLI は、実行中に必要な依存関係もダウンロードします。ただし、これらの依存関係はローカルの Maven リポジトリー ~/.m2 にダウンロードされます。そのため、Camel CLI の実行中に古い JAR などの問題をトラブルシューティングする場合は、これらのディレクトリーまたはその一部を削除してみてください。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat