2.3.3. プロジェクト POM を用いた JBoss Enterprise Application Platform の Maven リポジトリの設定
プロジェクトにおいて Maven で JBoss Enterprise Application Platform Maven リポジトリーを使用するには 2 つの方法があります。
このタスクでは、リポジトリー情報をプロジェクトの
- Maven 設定を変更できます。
- プロジェクトの POM ファイルを設定できます。
pom.xml
に追加して、JBoss Enterprise Application Platform の Maven リポジトリーを使用するよう特定のプロジェクトを設定する方法について説明します。この設定方法は、グローバル設定とユーザー設定よりも優先されます。
通常、この設定方法は推奨されません。プロジェクトの POM ファイルにリポジトリーを設定する場合は慎重に計画します。ビルドに時間がかかり、想定外のリポジトリーからアーティファクトが抽出されることがあることに注意してください。
注記
通常レポジトリーマネージャーが使用されるエンタープライズ環境では、Maven は、このマネージャーを使用してすべてのプロジェクトのすべてのアーティファクトを問い合わせる必要があります。Maven は、宣言されたすべてのリポジトリーを使用して不明なアーティファクトを見つけます。探しているものが見つからない場合は、中央リポジトリー (組み込みの親 POM で定義されます) での検索を試行します。この中央の場所を上書きオーバーライドするには、
central
で定義を追加してデフォルトの中央リポジトリーがリポジトリーマネージャーになるようにします。これは、確立されたプロジェクトには適切ですが、クリーンな、または「新しい」プロジェクトの場合は、周期的な依存関係が作成されるため、問題が発生します。
このような設定では、推移的に含まれた POM も問題になります。Maven は、これらの外部リポジトリーで不明なアーティファクトを問い合わせる必要があります。これにより、ビルドに時間がかかるだけでなく、アーティファクトの抽出元を制御できなくなり、多くの場合、ビルドが破壊されます。
注記
リポジトリーの URL はリポジトリの場所 (ファイルシステムまたは Web サーバー) によって異なります。リポジトリーのインストール方法については、 「JBoss Enterprise Application Platform 6 の Maven リポジトリのインストール」を参照してください。各インストールオプションの例は次のとおりです。
- ファイルシステム
file:///path/to/repo/jboss-eap-6.0.0-maven-repository
- Apache Web サーバー
http://intranet.acme.com/jboss-eap-6.0.0-maven-repository/
- Nexus リポジトリマネージャー
https://intranet.acme.com/nexus/content/repositories/jboss-eap-6.0.0-maven-repository
- テキストエディターでプロジェクトの
pom.xml
ファイルを開きます。 - 次のリポジトリ設定を追加します。既にファイルに
<repositories>
設定が存在する場合は<repository>
要素を追加します。必ず<url>
をリポジトリが実存する場所に変更するようにしてください。<repositories> <repository> <id>jboss-eap-repository-group</id> <name>JBoss EAP Maven Repository</name> <url>file:///path/to/repo/jboss-eap-6.0.0-maven-repository/</url> <layout>default</layout> <releases> <enabled>true</enabled> <updatePolicy>never</updatePolicy> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>never</updatePolicy> </snapshots> </repository> </repositories>
- 次のプラグインリポジトリ設定を追加します。既にファイルに
<pluginRepositories>
設定が存在する場合は<pluginRepository>
要素を追加します。<pluginRepositories> <pluginRepository> <id>jboss-eap-repository-group</id> <name>JBoss EAP Maven Repository</name> <url>file:///path/to/repo/jboss-eap-6.0.0-maven-repository/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories>