15.3. Mvn URL ハンドラー
15.3.1. 概要 リンクのコピーリンクがクリップボードにコピーされました!
Maven を使用してバンドルをビルドする場合、または特定のバンドルが Maven リポジトリーから利用可能であることがわかっている場合は、Mvn ハンドラースキームを使用してバンドルを見つけることができます。
Mvn URL ハンドラーがローカルおよびリモートの Maven アーティファクトを確実に検出できるようにするには、Mvn URL ハンドラーの設定をカスタマイズする必要がある場合があります。詳細は、「Mvn URL ハンドラーの設定」 を参照してください。
15.3.2. 構文 リンクのコピーリンクがクリップボードにコピーされました!
Mvn URL の構文は次のとおりです。
mvn:[repositoryUrl!]groupId/artifactId[/[version][/[packaging][/[classifier]]]]
mvn:[repositoryUrl!]groupId/artifactId[/[version][/[packaging][/[classifier]]]]
ここで、repositoryUrl は、オプションで Maven リポジトリーの URL を指定します。groupId、artifactId、version、packaging、および classifier は、Maven アーティファクトを見つけるための標準の Maven コーディネートです。
15.3.3. コーディネートの省略 リンクのコピーリンクがクリップボードにコピーされました!
Mvn URL を指定する場合に、必要なのは groupId と artifactId のコーディネートのみです。以下は、groupId の org.fusesource.example
と、artifactId の bundle-demo
で Maven バンドルを参照する例です。
mvn:org.fusesource.example/bundle-demo mvn:org.fusesource.example/bundle-demo/1.1
mvn:org.fusesource.example/bundle-demo
mvn:org.fusesource.example/bundle-demo/1.1
最初の例のように、バージョン を省略すると、デフォルトは LATEST
に設定されます。これにより、利用可能な Maven メタデータに基づいて最新バージョンに解決されます。
packaging または version 値を指定せずに classifier 値を指定するには、Mvn URL 用にスペースを空けることができます。version 値なしで packaging 値を指定する場合も同様です。以下に例を示します。
mvn:groupId/artifactId///classifier mvn:groupId/artifactId/version//classifier mvn:groupId/artifactId//packaging/classifier mvn:groupId/artifactId//packaging
mvn:groupId/artifactId///classifier
mvn:groupId/artifactId/version//classifier
mvn:groupId/artifactId//packaging/classifier
mvn:groupId/artifactId//packaging
15.3.4. バージョン範囲の指定 リンクのコピーリンクがクリップボードにコピーされました!
Mvn URL で version 値を指定する場合、単純なバージョン番号の代わりにバージョンの範囲 (標準の Maven バージョン管理構文を使用) を指定できます。角括弧 [
および ]
を使用して含まれる範囲を示し、括弧 (
および )
を使用して除外される範囲を示します。たとえば、範囲 [1.0.4,2.0)
は、1.0.4 ⇐ v < 2.0
を満たすすべてのバージョン v
に一致します。このバージョン範囲は、以下のように Mvn URL で使用できます。
mvn:org.fusesource.example/bundle-demo/[1.0.4,2.0)
mvn:org.fusesource.example/bundle-demo/[1.0.4,2.0)
15.3.5. Mvn URL ハンドラーの設定 リンクのコピーリンクがクリップボードにコピーされました!
Mvn URL を初めて使用する前に、以下のように Mvn URL ハンドラー設定をカスタマイズする必要がある場合があります。
15.3.6. Mvn URL 設定の確認 リンクのコピーリンクがクリップボードにコピーされました!
Mvn URL ハンドラーは、ローカル Maven リポジトリーへの参照を解決し、リモート Maven リポジトリーのリストを維持します。Mvn URL を解決するとき、ハンドラーは最初にローカルリポジトリーを、その後にリモートリポジトリーを検索して、指定された Maven アニティーを見つけます。Mvn URL の解決に問題がある場合は、最初にハンドラー設定を確認し、URL の解決に使用するローカルリポジトリーおよびリモートリポジトリーを確認することができます。
Mvn URL 設定を確認するには、コンソールで以下のコマンドを入力します。
JBossFuse:karaf@root> config:edit org.ops4j.pax.url.mvn JBossFuse:karaf@root> config:proplist
JBossFuse:karaf@root> config:edit org.ops4j.pax.url.mvn
JBossFuse:karaf@root> config:proplist
config:edit
コマンドは、config
ユーティリティーの焦点を org.ops4j.pax.url.mvn
永続 ID に属するプロパティーに切り替えます。config:proplist
コマンドは、現在の永続 ID のプロパティー設定をすべて出力します。org.ops4j.pax.url.mvn
を対象とすると、以下のようなリストが表示されるはずです。
localRepository
設定は、ハンドラーによって現在使用されているローカルリポジトリーの場所を示し、repositories
の設定は、ハンドラーによって現在使用されているリモートリポジトリーのリストを示します。
15.3.7. 設定ファイルを編集します。 リンクのコピーリンクがクリップボードにコピーされました!
Mvn URL ハンドラーのプロパティー設定をカスタマイズするには、以下の設定ファイルを編集します。
InstallDir/etc/org.ops4j.pax.url.mvn.cfg
InstallDir/etc/org.ops4j.pax.url.mvn.cfg
このファイルの設定により、ローカル Maven リポジトリーの場所を明示的に指定し、Maven リポジトリーや Maven プロキシーサーバー設定を削除できるようになります。これらの設定の詳細は、設定ファイルのコメントを参照してください。
15.3.8. ローカルリポジトリーの場所のカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
特に、ローカルの Maven リポジトリーがデフォルト以外の場所にある場合は、ローカルにビルドする Maven アーティファクトにアクセスするために、明示的に設定する必要がある場合があります。org.ops4j.pax.url.mvn.cfg
設定ファイルで、org.ops4j.pax.url.mvn.localRepository
プロパティーのコメントを解除し、ローカルの Maven リポジトリーの場所に設定します。以下に例を示します。
15.3.9. 参照 リンクのコピーリンクがクリップボードにコピーされました!
mvn
URL 構文の詳細は、元の Pax URL の Mvn Protocol ドキュメントを参照してください。