Oracle Mavenリポジトリには、アプリケーションのコンパイル、テスト、パッケージ、統合テストの実行、またはデプロイに必要な、Oracleにより提供されるアーティファクトが含まれています。次の項では、Oracle Mavenリポジトリのアクセスおよび構成について説明します。
Oracle Mavenリポジトリにアクセスするには、最初にOracle Technology Networkでのアクセスに対して登録する必要があります。登録アプリケーションは次の場所にあります。
https://www.oracle.com/webapps/maven/register/license.html
このアプリケーションでは、Oracle Mavenリポジトリへのアクセスに対するライセンス契約が表示されます。Oracle Mavenリポジトリへのアクセスに対するライセンス契約を受け入れる必要があります。
Oracle Mavenリポジトリにアクセスするたびに、Oracle Technology Network (OTN)へのログインに使用するユーザー名およびパスワードを指定する必要があります。アクセスはHTTPSを介してのみ提供されます。これらを毎回手動で指定しなくても済むように、Maven設定ファイル内に資格証明を保存することができます。Mavenで提供されるユーティリティを使用して、パスワードを暗号化することをお薦めします。
Oracle Mavenリポジトリにアクセスするには、第6.3項、第6.4項および第6.5項の説明に従って、Maven 3.0.4以降を使用し、Maven設定およびプロジェクトPOMにいくつかの変更を行う必要があります。
Maven 3.1で行った変更により、Maven 3.0.n用に開発された一部のMavenプラグインは、Maven 3.1.n (またはそれ以降)では正しく動作しない可能性があることに注意してください。特定のOracle Fusion Middlewareリリースにより推奨されたバージョンのMavenを使用することをお薦めします。
Oracle Mavenリポジトリは、12.1.2、12.1.3および12.2.1などのリリース・レベルのアーティファクトのみを提供します。パッチが必要な場合、Oracle Supportからパッチを入手してそれをローカルのOracle Homeインストールに適用し、Maven同期プラグインを使用してローカルのMavenリポジトリを更新してください。
リポジトリ定義をMaven settings.xmlファイルまたはMavenプロジェクト・オブジェクト・モデル(POM)ファイル、あるいはその両方に追加します。リポジトリ定義は次のようになります。
<repositories> <repository> <id>maven.oracle.com</id> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> <url>https://maven.oracle.com</url> <layout>default</layout> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>maven.oracle.com</id> <url>https://maven.oracle.com</url> </pluginRepository> </pluginRepositories>
デフォルトでは、Mavenはwagon-httpコンポーネントを使用して、Oracle Mavenリポジトリを含む、リモート・リポジトリにアクセスします。Oracle MavenリポジトリはOracleのSingle Sign-On (SSO)テクノロジにより保護されているので、Oracle Mavenリポジトリには、エンタープライズ・レベルのSSOソリューションを使用する認証をサポートするwagon-httpコンポーネントのバージョンが必要です。wagon-httpバージョン2.8より前では、wagon-httpコンポーネントはSSOスタイルの認証を処理できる必要な構成をサポートしていませんでした。このため、Oracle Mavenリポジトリではwagon-http 2.8 (またはそれ以降)の使用が必要です。
デフォルトでは、MavenはローカルのMavenインストールからwagon-httpのバージョンを選択します。Maven 3.2.5では、Maven配布に含まれるwagon-httpバージョンはwagon-httpバージョン2.8です。
Mavenの以前のバージョンのユーザーは、wagon-http 2.8バージョンを追加することにより、wagon-httpバージョン2.8を使用するようにMavenを構成できます。
Maven Centralからwagon-http 2.8共有JARファイルをダウンロードします。
http://central.maven.org/maven2/org/apache/maven/wagon/wagon-http/2.8/wagon-http-2.8-shaded.jar
そのJARファイルを次のディレクトリに移動します。
MAVEN_HOME/lib/ext/
Maven settings.xmlには、Oracle Mavenリポジトリをサポートする追加の設定が必要です。次の<server>要素をMaven settings.xmlの<servers>セクションに追加します。
<server> <id>maven.oracle.com</id> <username>username</username> <password>password</password> <configuration> <basicAuthScope> <host>ANY</host> <port>ANY</port> <realm>OAM 11g</realm> </basicAuthScope> <httpConfiguration> <all> <params> <property> <name>http.protocol.allow-circular-redirects</name> <value>%b,true</value> </property> </params> </all> </httpConfiguration> </configuration> </server>
<username>と<password>エントリは、OTNのユーザー名とパスワードに置き換えます。次で説明する、標準のMaven暗号化メカニズムを使用して、パスワードを暗号化することを強くお薦めします。
http://maven.apache.org/guides/mini/guide-encryption.html
コマンドラインからMavenを起動して、プラグイン・ゴールを直接実行する場合、「デフォルトでアクティブ」に設定されているプロファイルの一部でないかぎり、Mavenはsettings.xmlファイルにリストされているリポジトリを使用しないスタンドアロンPOMを使用します。たとえば、原型から新しいプロジェクトを生成する一般的な方法は、Mavenのarchetype:generate
ゴールをプロジェクトPOMなしでコマンドラインから直接起動することです。これが機能するためには、次の例に示すように、Oracle Mavenリポジトリはデフォルトでアクティブなプロファイル内で宣言される必要があります。
<profiles> <profile> <id>main</id> <activation> <activeByDefault>true</activeByDefault> </activation> <repositories> <repository> <id>maven.oracle.com</id> <url>https://maven.oracle.com</url> <layout>default</layout> <releases> <enabled>true</enabled> </releases> </repository> </repositories> </profile> </profiles>
Hudson継続的インテグレーション・サーバーなどの自動ビルド・ツールからOracle Mavenリポジトリにアクセスする場合、パスワードを暗号化してMaven settings-security.xmlファイルに保存することができます。