4.8. Red Hat build of Apache Camel for Quarkus へのエクスポート
Camel CLI 統合を従来の Java ベースのプロジェクトに export
できます。Camel CLI を使用してプロトタイプをビルドした後、Java コーディングがさらに必要な従来の Java ベースのプロジェクトが必要な場合、または Quarkus もしくは vanilla Camel Main の強力なランタイムを使用する場合に、これを実行するとよいでしょう。
4.8.1. Red Hat build of Apache Camel for Quarkus へのエクスポート リンクのコピーリンクがクリップボードにコピーされました!
コマンド export --runtime=quarkus
は、現在の Camel CLI ファイルを、src/main/
フォルダー構造で編成されたファイルとともに Maven ベースのプロジェクトにエクスポートします。
たとえば、quarkus
ランタイム、maven グループ ID com.foo
、artifactId acme
、およびバージョン 1.0-SNAPSHOT
を使用して、camel-quarkus-jbang
ディレクトリーにエクスポートするには、次を実行します。
camel export --runtime=quarkus --gav=com.foo:acme:1.0-SNAPSHOT --quarkus-group-id=com.redhat.quarkus.platform --quarkus-version=3.2.6.SP1_redhat_00001 --deps=org.apache.camel.quarkus:camel-quarkus-timer,org.apache.camel.quarkus:camel-quarkus-management,org.apache.camel.quarkus:camel-quarkus-cli-connector --repos=https://indy.psi.redhat.com/api/content/maven/group/static/ --directory=camel-quarkus-jbang
camel export --runtime=quarkus --gav=com.foo:acme:1.0-SNAPSHOT --quarkus-group-id=com.redhat.quarkus.platform --quarkus-version=3.2.6.SP1_redhat_00001 --deps=org.apache.camel.quarkus:camel-quarkus-timer,org.apache.camel.quarkus:camel-quarkus-management,org.apache.camel.quarkus:camel-quarkus-cli-connector --repos=https://indy.psi.redhat.com/api/content/maven/group/static/ --directory=camel-quarkus-jbang
これにより、current
ディレクトリーにエクスポートされます。これは、ファイルが必要なフォルダー構造に移動されることを意味します。
別のディレクトリーにエクスポートするには、次を実行します。
camel export --runtime=quarkus --gav=com.foo:acme:1.0-SNAPSHOT --directory=../myproject
camel export --runtime=quarkus --gav=com.foo:acme:1.0-SNAPSHOT --directory=../myproject
エクスポートする場合、pom.xml
または build.gradle
で定義された Camel バージョンは、Camel CLI が使用するバージョンと同じです。ただし、次のように別の Camel バージョンを指定できます。
camel export --runtime=quarkus --gav=com.foo:acme:1.0-SNAPSHOT --directory=../myproject --quarkus-version=3.2.6.SP1-redhat-00001
camel export --runtime=quarkus --gav=com.foo:acme:1.0-SNAPSHOT --directory=../myproject --quarkus-version=3.2.6.SP1-redhat-00001
詳細は、camel export --help
コマンドを実行して、使用可能なオプションを確認してください。
4.8.2. Camel CLI を含めたエクスポート リンクのコピーリンクがクリップボードにコピーされました!
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
camel export --runtime=quarkus --gav=com.foo:acme:1.0-SNAPSHOT --deps=camel:cli-connector --directory=../myproject
4.8.3. エクスポートの設定 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、export コマンドは application.properties
ファイルから設定をロードします。このファイルは、ランタイムや Java バージョンの選択などの特定のパラメーターをエクスポートするために使用されます。
exporting
に関連する次のオプションは、application.properties
ファイルで設定できます。
オプション | 説明 |
---|---|
|
ランタイム ( |
| Maven group:artifact:version |
| 追加の依存関係 (複数の依存関係を区切るにはコンマを使用します)。詳細は、カスタム JAR の追加 を参照してください。 |
| クラスパスに追加する追加ファイル (複数のファイルを区切るにはコンマを使用します)。詳細は、カスタム JAR の追加 を参照してください。 |
| Java バージョン (11 または 17) |
| Apache Camel Kameletes のバージョン |
| Kamelets をロードするためのローカルディレクトリー |
| Quarkus Platform Maven groupId |
| Quarkus Platform Maven artifactId |
| Quarkus Platform バージョン |
| エクスポートされたプロジェクトに Maven ラッパーファイルを含める |
| エクスポートされたプロジェクトに Gradle Wrapper ファイルを含める |
| 使用するビルドツール (maven または gradle) |
| オンデマンドでダウンロードするための追加の Maven リポジトリー (複数のリポジトリーを区切るにはコンマを使用します) |
| サーバー、リポジトリー、ミラー、プロキシーを設定するための Maven settings.xml ファイルのオプションの場所。false に設定すると、デフォルトの ~/.m2/settings.xml も使用されません。 |
| settings.xml を復号化するための Maven settings-security.xml ファイルのオプションの場所 |
| プロジェクトがエクスポートされるディレクトリー。 |
| --console が有効な場合など、スタンドアロン Camel を実行するときに使用する HTTP サーバーポート (デフォルトではポート 8080)。 |
| スタンドアロン Camel を実行している場合、ローカル HTTP サーバー (デフォルトではポート 8080) 上の /q/dev にある開発者コンソール。 |
| スタンドアロン Camel を実行している場合は、ローカル HTTP サーバー (デフォルトではポート 8080) の /q/health でヘルスチェックを行います。 |
これらは、export コマンドのオプションです。詳細とデフォルト値を表示するには、camel export --help
を実行します。
4.8.4. Configuration リンクのコピーリンクがクリップボードにコピーされました!
Camel CLI の config コマンドは、ユーザー設定を保存および使用するために使用します。これにより、毎回 CLI オプションを指定する必要がなくなります。たとえば、別の Camel バージョンを実行するには、次を使用します。
camel run * --camel-version=4.0.0.redhat-00036
camel run * --camel-version=4.0.0.redhat-00036
camel-version
は次のようなユーザー設定に追加できます。
camel config set camel-version=4.0.0.redhat-00036
camel config set camel-version=4.0.0.redhat-00036
run
コマンドはユーザー設定を使用します。
camel run *
camel run *
ユーザー設定ファイルは ~/.camel-jbang-user.properties
に保存されます。
4.8.4.1. 設定と設定解除 リンクのコピーリンクがクリップボードにコピーされました!
すべての Camel CLI オプションはユーザー設定に追加されます。以下に例を示します。
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.0.0.redhat-00036 camel config set camel-quarkus-version=3.2.0.redhat-00018
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.0.0.redhat-00036
camel config set camel-quarkus-version=3.2.0.redhat-00018
設定をエクスポートするには、以下を実行します。
camel export
camel export
camel アプリケーションを初期化するには、以下を実行します。
camel init foo.yaml
camel init foo.yaml
camel アプリケーションを実行するには、以下を実行します。
camel run foo.yaml --repos=https://indy.psi.redhat.com/api/content/maven/group/static/
camel run foo.yaml --repos=https://indy.psi.redhat.com/api/content/maven/group/static/
ユーザー設定キーを設定解除するには、以下を実行します。
camel config unset camel-quarkus-version
camel config unset camel-quarkus-version
4.8.4.2. 設定のリスト表示と取得 リンクのコピーリンクがクリップボードにコピーされました!
ユーザー設定キーをリスト表示するには、以下を使用します。
camel config list
camel config list
上記の設定の出力は次のとおりです。
runtime = spring-boot deps = org.apache.camel.springboot:camel-timer-starter gav = com.foo:acme:1.0-SNAPSHOT
runtime = spring-boot
deps = org.apache.camel.springboot:camel-timer-starter
gav = com.foo:acme:1.0-SNAPSHOT
特定のキーの値を取得するには、get
コマンドを使用します。
camel config get gav com.foo:acme:1.0-SNAPSHOT
camel config get gav
com.foo:acme:1.0-SNAPSHOT
4.8.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
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
この例では、ユーザー設定 (config set) でリポジトリーが設定されており、camel run コマンドでプレースホルダー #repos が宣言されているため、camel run によってプレースホルダーが置き換えられ、実行中に両方のリポジトリーが使用されます。設定値を参照する場合、構文は #optionName (例: #repos) であることに注意してください。
プレースホルダー置換は、特定の Camel コマンドが持つ各オプションに対してのみ機能します。camel run --help
を使用すると、コマンドが持つすべてのオプションを確認できます。
4.8.5. トラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
JBang を使用すると、状態が ~/.jbang
ディレクトリーに保存されます。これは、JBang がダウンロードした JAR を保存する場所でもあります。Camel CLI は、実行中に必要な依存関係もダウンロードします。
ただし、これらの依存関係はローカルの Maven リポジトリー ~/.m2
にダウンロードされます。そのため、Camel CLI の実行中に古い JAR などの問題をトラブルシューティングする場合は、これらのディレクトリーまたはその一部を削除してみてください。