5 ビルド自動化と依存性管理のためのMavenのインストールおよび構成
この章では、Mavenのインストールと構成方法について説明します。
トピック:
- Maven配布の設定
Maven 3.2.5の配布はOracle Fusion Middlewareに含まれています。 - Maven設定のカスタマイズ
Maven設定ファイルを作成して、プロキシ・サーバー、サーバー、ミラーを指定できます。 - JDBCドライバ、UCPおよび対応するJar
Oracle JDBCドライバおよびユニバーサル接続プール(UCP)は、Oracle Maven Repositoryで使用可能になりました。 - Mavenリポジトリ・マネージャへの移入
たとえばArchivaを設定したように、Mavenリポジトリ・マネージャの構成が完了した後で、Oracleアーティファクトを移入します。
Maven配布の設定
Maven 3.2.5の配布はOracle Fusion Middlewareに含まれています。
Oracle WebLogic Serverをインストールした後、Oracleホームの次の場所でMavenを見つけることができます。
ORACLE_HOME/oracle_common/modules/org.apache.maven_3.2.5
これは、変更を含まない、標準のMaven 3.2.5リリースのコピーです。
Maven Webサイトから各自でMavenコピーをダウンロードして、インストールすることもできます。
Oracle Fusion Middlewareは、Maven 3.0.5以降をサポートしています。
インストール後、オペレーティング・システムのPATH環境変数にMavenを次のように追加します。
-
Linuxの場合:
シェル起動スクリプト、
.profile
または.bash_profile
を更新して、パスを更新する必要があります。たとえば、Oracle WebLogic Serverを
/u01/fmwhome
にインストールしてbash
シェルを使用している場合、PATH環境変数に次の内容を追加する必要があります。export M2_HOME=/u01/fmwhome/oracle_common/modules/org.apache.maven_3.2.5 export PATH=${M2_HOME}/bin:$PATH
JAVA_HOME環境変数がJDKインストールを指すように設定する必要もあります。たとえば:
export JAVA_HOME=/u01/jdk1.7.0_45
-
Windowsの場合:
PATH環境変数を編集し、PATH環境変数の先頭にMavenへの正しいパスを追加します。
たとえば、
c:\fmwhome
にWebLogic Serverをインストールしてある場合は、次のように追加する必要があります。C:\fmwhome\oracle_common\modules\org.apache.maven_3.2.5\bin
JAVA_HOME環境変数がJDKインストールを指すように設定する必要もあります。
Maven設定のカスタマイズ
Maven設定ファイルを作成して、プロキシ・サーバー、サーバー、ミラーを指定できます。
次のような場合は、Maven設定ファイルを作成する必要があります。
-
ファイアウォールまたはプロキシ・サーバーの背後で作業している場合
-
組織で専用の内部Mavenリポジトリ・マネージャを使用している場合
-
Oracle Mavenリポジトリにアクセスする場合。
Oracle WebLogic Serverインストールの一環として、またはMaven Webサイトからダウンロードして、初めてMavenのインストールが完了したときには、設定ファイルはまだありません。これを作成して、settings.xmlという名前にする必要があります
Maven設定ファイルの例を次に示します。
<settings> <proxies> <proxy> <active>true</active> <protocol>http</protocol> <host>proxy.mycompany.com</host> <port>8080</port> <nonProxyHosts>mycompany.com</nonProxyHosts> </proxy> </proxies> <servers> <server> <id>maven.mycompany.com</id> <username>me@mycompany.com</username> <password>{COQLCE6DU6GtcS5P=}</password> </server> </servers> <mirrors> <mirror> <id>archiva</id> <name>Internal Archiva Mirror of Central</name> <url>http://archiva.mycompany.com/repositories/internal</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> </settings>
この例では、使用する可能性がある3つの共通構成の設定を示しています。
-
Proxy: インターネット上のMavenリポジトリにアクセスするために必要なHTTPプロキシ・サーバーについて、Mavenと通信できます。
-
Servers: Mavenリポジトリの資格証明についてMavenと通信できるため、リポジトリにアクセスするたびにこれらを入力する必要がなくなります。
-
Mirrors: Mavenの中央リポジトリに対して直接アクセスを試みるかわりに、内部のMavenリポジトリ・マネージャをMavenの中央リポジトリのミラー(キャッシュ)として使用するようにMavenに通知します。
これらの用語に精通していない場合は、継続的インテグレーションの概要の概要を参照してください。使用可能なMaven設定の詳細は、次の場所にあるMavenマニュアルを参照してください。
http://maven.apache.org/settings.html
Maven設定ファイルsettings.xml
は、通常はホーム・ディレクトリ内の.m2
ディレクトリに保持されます。Mavenが他の場所を指し示すようにする場合は、Mavenマニュアルを参照してください。
ユーザー名がbobの場合、ディレクトリ・パスは次のようになります。
(Linux) /home/bob/.m2/settings.xml (Windows) C:\Users\bob\.m2\settings.xml
JDBCドライバ、UCPおよび対応するJar
Oracle JDBCドライバおよびユニバーサル接続プール(UCP)は、Oracle Maven Repositoryで使用可能になりました。
Oracle Maven Repositoryでは、バージョン12.2.0.2、12.1.0.2、12.1.0.1および11.2.0.4が使用できます。
さらに、特定の機能に必要なons.jar
、orai18n.jar
、xmlparserv2.jar
、simplefan.jar
およびその他の対応するJARもOracle Mavenリポジトリにあります。詳細は、OTNのJDBCおよびUCPランディング・ページを参照してください。
表5-1では、Oracle Database 12cリリース 2 (12.2.0.1)のOracle JDBC、UCPおよび対応するjarを示します。
表5-1 12.2.0.1用のJDBCドライバ、UCPおよび対応するJar
Jarの名前 | groupID、artifactIDおよびバージョン詳細 | 説明 |
---|---|---|
ojdbc8.jar |
<groupIdcom.oracle.jdbc</groupId> <artifactId>ojdbc8</artifactId> <version>12.2.0.1</version> |
JDK8で使用するためのOracle JDBCドライバ |
ojdbc8_g.jar |
<groupId>com.oracle.jdbc</groupId> <artifactId>ojdbc8_g</artifactId> <version>12.2.0.1</version> |
トレース用のojdbc8.jarのデバッグ・バージョン |
ojdbc8dms.jar |
<groupId>com.oracle.jdbc</groupId> <artifactId>ojdbc8dms</artifactId> <version>12.2.0.1</version> |
DMSコールをサポートするためのojdbc8.jarおよびインスツルメンテーション |
ojdbc8dms_g.jar |
<groupId>com.oracle.jdbc</groupId> <artifactId>ojdbc8dms_g</artifactId> <version>12.2.0.1</version> |
DMSをサポートするためのojdbc8_g.jarおよびインスツルメンテーション。 |
ucp.jar |
<groupId>com.oracle.jdbc</groupId> <artifactId>ucp</artifactId> <version>12.2.0.1</version> |
JDK 8で使用するためのUniversal Connection Pool |
simplefan.jar |
<groupId>com.oracle.jdbc</groupId> <artifactId>simplefan</artifactId> <version>12.2.0.1</version> |
ONSを介してRACイベントにサブスクライブするためのJava API |
ons.jar |
<groupId>com.oracle.jdbc</groupId> <artifactId>ons</artifactId> <version>12.2.0.1</version> |
Oracle Notification Services(ONS)デーモン |
dms.jar |
<groupId>com.oracle.jdbc</groupId> <artifactId>dms</artifactId> <version>12.2.0.1</version> |
DMS対応のjarに必要(ojdbc8dms.jarおよびojdbc8dms_g.jar) |
osdt_core.jar |
<groupId>com.oracle.jdbc</groupId> <artifactId>osdt_core</artifactId> <version>12.2.0.1</version> |
JavaからOracle Walletsにアクセスするために必要 |
osdt_cert.jar |
<groupId>com.oracle.jdbc</groupId> <artifactId>osdt_cert</artifactId> <version>12.2.0.1</version> |
JavaからOracle Walletsにアクセスするために必要 |
oraclepki.jar |
<groupId>com.oracle.jdbc</groupId> <artifactId>oraclepki</artifactId> <version>12.2.0.1</version> |
JavaからOracle Walletsにアクセスするために必要 |
xdb6.jar |
<groupId>com.oracle.jdbc</groupId> <artifactId>xdb6</artifactId> <version>12.2.0.1</version> |
標準java.sql.SQLXMLインタフェースをサポートするクラス(Java SE 8)。 |
xmlparserv2.jar |
<groupId>com.oracle.jdbc</groupId> <artifactId>xmlparserv2</artifactId> <version>12.2.0.1</version> |
標準java.sql.SQLXMLインタフェースをサポートするため |
orai18n.jar |
<groupId>com.oracle.jdbc</groupId> <artifactId>orai18n</artifactId> <version>12.2.0.1</version> |
NLSまたは国際化サポートのためのクラス |
Mavenリポジトリ・マネージャへの移入
たとえばArchivaを設定したように、Mavenリポジトリ・マネージャの構成が完了した後で、Oracleアーティファクトを移入します。
Archivaの設定については、Archiva Mavenリポジトリ・マネージャのインストールおよび構成で説明しています。
Maven同期プラグインを使用すると、Oracleホームからローカルまたは共有Mavenリポジトリに移入できます。Fusion Middleware 12c製品をインストールしている場合、同期プラグインで検出できるように、Maven原型、プラグインおよびPOMが製品とともにインストールされます。
この項では、次の項目について説明します。
Maven同期プラグインの概要
Oracle Fusion Middleware 12cにはMaven同期プラグインが用意されており、これによってリポジトリの設定プロセスが簡略化され、特定の環境にインストールされるパッチを認識しておく必要性が完全に排除されます。このプラグインを使用すると、指定のOracleホームからMavenリポジトリに移入できます。Oracleホームにパッチを適用した後、このプラグインを実行して、MavenリポジトリがOracleホームと一致するようにします。これにより、その特定の環境のすべてのアーティファクトについて、ビルドで正しいバージョンを使用していることが確実になります。
Oracle Maven同期プラグインは、Oracle WebLogic Server、Oracle CoherenceおよびOracle JDeveloperのインストールに含まれています。プラグインを使用するには、Oracleホームの場所とMavenリポジトリの場所を指定する必要があります。Mavenリポジトリは、ファイル・システムのパスまたはURLのいずれかを使用して指定できます。プラグインはOracleホーム内のすべてのMavenアーティファクトを調べて、すべてのアーティファクトが指定したMavenリポジトリにインストールされていること、およびバージョンが完全に一致していることを確認します。これは、バージョン番号とファイルがバイナリ・レベルで完全に同一であることを意味し、すべてのパッチ適用済ファイルがMavenリポジトリ内に正確に反映されます。
12cのOracleホームにはmaven
ディレクトリがあり、ここには様々なビルド操作を実行するための、Oracle提供アーティファクト用のMavenプロジェクト・オブジェクト・モデル(POM)、プロジェクトを作成するための原型、およびOracle提供のMavenプラグインが含まれています。
親トピック: Mavenリポジトリ・マネージャへの移入
Oracle Maven同期プラグインのインストール
Oracle Maven同期プラグインの使用を開始する前に、これをMavenリポジトリにインストールする必要があります。コンピュータ上のローカル・リポジトリにインストールするか、共有内部リポジトリがある場合は、ここにデプロイします。
プラグインはOracle WebLogic Server 12cホームにあり、2つのファイルで構成されています。
-
プラグインについて記述するMavenプロジェクト・オブジェクト・モデル(POM)ファイル。次の場所にあります。
ORACLE_HOME/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/12.2.1/oracle-maven-sync-12.2.1.pom
-
プラグインを含むJARファイル。次の場所にあります。
ORACLE_HOME/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/12.2.1/oracle-maven-sync-12.2.1.jar
プラグインをインストールおよびデプロイするには:
使用する際に完全座標を指定しなくて済むようにOracle Maven Synchronizationプラグインに短い名前を使用するには、Mavenのsettings.xmlに次のようにエントリを追加します。
<pluginGroups> <pluginGroup>com.oracle.maven</pluginGroup> ... </pluginGroups>
これにより、oracle-sync
という名前を使用してプラグインを参照できます。
Mavenのインストールおよびダウンロードを構成し、Oracle Mavenリポジトリからプラグインを使用するには、Oracle Mavenリポジトリについてで説明しているように、Oracle Public Mavenリポジトリでアクセスを登録し、サーバー・エントリをMavenのsettings.xmlファイルに追加する必要があります。
親トピック: Mavenリポジトリ・マネージャへの移入
Oracle Maven同期プラグインの実行
Oracle Maven同期プラグインは、リポジトリに移入するために使用する単一pushゴールをサポートします。
使用方法およびパラメータの説明を取得するには、次のコマンドを実行してhelp:describeゴールを呼び出します。
mvn help:describe -Dplugin=com.oracle.maven:oracle-maven-sync -Ddetail
この出力には、プラグインのpushゴールで使用可能なパラメータが示されています。表5-2に、パラメータを示します。
表5-2 pushゴールのパラメータと説明
パラメータ | 説明 |
---|---|
|
Mavenのsettings.xmlファイルに含まれるサーバー・エントリへのポインタ。これは、リモート・リポジトリにデプロイする場合にのみ必要です。settings.xmlでは、URL、ユーザー名、パスワードなどのリモート・アーティファクト・リポジトリのデプロイメント情報を提供する必要があります。 |
|
Mavenリポジトリへの移入元にするOracleホームへのパス。 |
|
プラグインでリポジトリへのアーティファクトの公開を試行するかどうかを制御するパラメータ。 これをデフォルト値の |
|
このプロパティを このプロパティを |
overwriteParent |
このプロパティを |
pushDuplicates |
このプロパティを |
親トピック: Mavenリポジトリ・マネージャへの移入
アーティファクトの置換
一部のMavenリポジトリ・マネージャには、リポジトリ内の既存アーティファクトの置換を可能にするかどうかを制御する設定があります。Mavenリポジトリ・マネージャにこのような設定がある場合は、Oracle Maven同期プラグインでリポジトリ内のアーティファクトを更新できるように、正しく設定されていることを確認する必要があります。
Archivaの場合:
その他のMavenリポジトリ・マネージャにも同様の設定があります。別のツールを使用している場合は、そのツールのマニュアルを参照して、この設定の変更方法を確認してください。
親トピック: Mavenリポジトリ・マネージャへの移入
Mavenリポジトリへの移入
リポジトリに移入するには、pushゴールを使用する必要があります。表5-2に示すパラメータをコマンドラインまたはプロジェクト・オブジェクト・モデル・ファイルで指定できます。
この項では、次の項目について説明します。
pushゴールの実行について
pushゴールを実行すると、次の処理が行われます。
-
指定されたOracleホームを確認し、そのOracleホームに含まれるすべてのMavenアーティファクトの一覧を作成します。これは、
ORACLE_HOME
/oracle_common/plugins/maven
依存性ディレクトリおよびそのサブディレクト内でプロジェクト・オブジェクト・モデル・ファイルを再帰的に検索し、ORACLE_HOME
に存在するPRODUCT_HOME
ごとにORACLE_HOME
/
PRODUCT_HOME
/plugins/maven
ディレクトリおよびそのサブディレクトリ内を再帰的に検索することで実行します。 -
各プロジェクト・オブジェクト・モデル・ファイルで参照されているJARファイルがOracleホームで使用可能かどうかを確認します。
-
JARファイルのSHA1チェックサムを計算します。
-
指定されたリポジトリに対するJARファイル、プロジェクト・オブジェクト・モデル・ファイルおよびSHA1ファイルの公開を試行します。
次のタイプのMavenアーティファクトがリポジトリにインストールされます。
-
Oracleによって提供されている次のようなMavenの依存性
-
クライアントAPIクラス
-
appc
やwlst
などのコンパイル、パッケージ化およびデプロイメント・ユーティリティ -
アプリケーションへの組込みが必要なコンポーネントJAR
-
t3およびJAX-WSクライアント・ランタイムなどのクライアント側のランタイム・クラス
-
-
コンパイル、パッケージ化およびデプロイメントを処理するOracle提供のMavenプラグイン
-
プロジェクト・テンプレートを提供するOracle提供のMaven原型
親トピック: Mavenリポジトリへの移入
リモート・リポジトリへの移入
リモート・リポジトリに移入する場合は、コマンドライン・インタフェースまたはプラグイン構成でserverId
およびoracleHome
を指定する必要があります。また、プラグインに指定したserverId
と一致するようにsettings.xmlファイルのリポジトリ構成を指定する必要があります。デプロイメントに認証が必要な場合は、Mavenのsettings.xmlファイルにもサーバー・エントリを追加する必要があります。
たとえば:
mvn com.oracle.maven:oracle-maven-sync:push
-DoracleHome=path_to_oracleHome
-DserverId=internal
これに対応する認証詳細付きのMavenのsettings.xmlファイルは、次のようになります。
... <profiles> <profile> <id>default</id> <repositories> <repository> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>never</updatePolicy> <checksumPolicy>fail</checksumPolicy> </snapshots> <id>internal</id> <name>Team Internal Repository</name> <url>http://some.host/maven/repo/internal</url> <layout>default</layout> </repository> </repositories> </profile> </profiles> ... <server> <id>internal</id> <username>username</username> <password>password</password> </server> ... <activeProfiles> <activeProfile>default</activeProfile> </activeProfiles>
プロファイルにターゲット・リポジトリを定義し、前述の例に示すactiveProfilesタグを使用して、そのプロファイルをアクティブ化する必要があります。
ノート:
serverセクションに、暗号化されたパスワードを指定する必要があります。サーバー・パスワードの暗号化方法については、次を参照してください。
http://maven.apache.org/guides/mini/guide-encryption.html#How_to_encrypt_server_passwords
プロジェクト・オブジェクト・モデル・ファイルのパラメータを指定するには、次のようなプラグイン・エントリを追加する必要があります。
<plugin>
<groupId>com.oracle.maven</groupId>
<artifactId>oracle-maven-sync</artifactId>
<version>12.2.1-0-0</version>
<configuration>
<serverId>internal</serverId>
<oracleHome>path_to_oracleHome</oracleHome>
<testOnly>false</testOnly>
</configuration>
</plugin>
プラグインを追加した後、次のコマンドを実行してMavenを実行します。
mvn com.oracle.maven:oracle-maven-sync:push
リポジトリに移入した後、リポジトリ・マネージャ上で索引の更新または原型カタログの更新などのいくつかの操作を実行することもできます。そのような操作が必要または推奨されているかを確認するには、リポジトリ・マネージャのドキュメントを参照してください。
親トピック: Mavenリポジトリへの移入
既存Mavenリポジトリでのpushゴールの実行
すでにOracleアーティファクトが入っているMavenリポジトリに対してpushゴールを実行すると、Oracle Maven同期プラグインはリポジトリに既存の親POMがあることを検出します。独自の設定を追加するなど変更されている場合があるため、このような親POMは上書きされません。かわりに、警告メッセージが出力されます。親POMを上書きするには、pushゴールに追加パラメータ-DoverriteParents=true
を指定する必要があります。
親トピック: Mavenリポジトリ・マネージャへの移入
パッチ適用の予備知識
パッチ適用は、システムを軽微な変更で更新する操作で、通常はソフトウェアが本番環境に移された後に認識された不具合を修正します。Oracle Fusion Middlewareでは、OPatchユーティリティを使用して、Oracleホームにインストールされているソフトウェアへのパッチ適用を管理します。OPatchを使用してパッチを適用しても、インストールされているソフトウェアのバージョン番号は変更されません。
Mavenでは、リリース済のソフトウェアが変更されないことを前提としたパッチ適用に対し、様々なアプローチを使用します。パッチが必要な場合、新しいバージョン番号を持つ新しいバージョンのアーティファクトが作成され、パッチとして配布されます。
Mavenを使用してOracle Fusion Middleware環境でアプリケーションを開発する場合には、この違いによって問題が発生します。Oracle Fusion Middleware では、この問題に対応するためのメカニズムを提供しています。
この項では、次の項目について説明します。
パッチ適用に対するOracleのアプローチ
Oracle Fusion Middleware (12.2.1など)を本番環境にリリースした後で問題が見つかった場合、この問題を修正するための個別パッチが作成されます。たとえば、12.2.1と12.2.1などの2つのリリースの間にこのようなパッチが多くリリースされます。これらのパッチをすべて適用する、またはこれらのパッチのいずれも適用しないなど、多数のパッチの組合せを適用できます。
このアプローチにより、柔軟性がとても高まります。必要なパッチのみを適用して、他のパッチは無視することができます。ただし、Mavenを使用している場合には、問題が発生する可能性があります。ビルド・システムで使用しているアーティファクトのバージョンがターゲット環境で使用されているバージョンと正確に同じである(パッチ適用済の可能性もある)ことを確認してください。
テスト、QA、SIT、本番などの多数の環境が存在する場合には複雑さが増し、それぞれに異なるバージョン(またはパッチ)がインストールされる可能性が高くなります。
このような状況では、ターゲットにする環境ごとに1つのMavenリポジトリを設定することをお薦めします。たとえば、Mavenテスト・リポジトリには、テスト環境にインストールされているバージョンおよびパッチと一致するアーティファクトを格納し、Maven QAリポジトリには、QA環境にインストールされているバージョンおよびパッチと一致するアーティファクトを格納するというように設定します。
親トピック: パッチ適用の予備知識
パッチ適用後のOracle Maven同期プラグインのpushゴールの実行
Oracleホームにパッチを適用した後、このプラグインを実行して、MavenリポジトリがOracleホームと一致するようにします。これにより、その特定の環境のすべてのアーティファクトについて、ビルドで正しいバージョンを使用していることになります。Oracle Maven同期プラグインの実行を参照してください。
親トピック: パッチ適用の予備知識
原型カタログに関する考慮事項
Oracle Maven同期プラグインのpushゴールを実行することによって、Mavenリポジトリに新しいMaven原型がインストールされる場合があります。原型の索引を再ビルドするためにコマンドの実行が必要になることがあります。一部のMavenリポジトリ・マネージャではこれを自動的に行います。
ローカル原型カタログを再ビルドするには、次のようなコマンドを実行します。
mvn archetype:crawl -Dcatalog=$HOME/.m2/archetype-catalog.xml
親トピック: Mavenリポジトリ・マネージャへの移入
settings.xmlファイルの例
このsettings.xmlファイルの例には、このマニュアルに記載されている継続的インテグレーション・システムの残りの部分とMavenとを統合するためのテンプレートが示されています。Archiva Mavenリポジトリ・マネージャのインストールおよび構成と、ビルド自動化から継続的インテグレーションへで説明されているように、中心となるArchivaリポジトリのインタラクションとHudsonの継続的インテグレーション・サーバーの統合をサポートする構成が示されています。各自のシステムの値と一致するように、URL、パスワードなどの値を変更する必要があります。
<settings> <profiles> <profile> <id>default</id> <repositories> <repository> <id>dev-group</id> <name>Dev Group</name> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>false</enabled> <updatePolicy>never</updatePolicy> <checksumPolicy>fail</checksumPolicy> </snapshots> <url>http://SERVER:PORT/archiva/repository/dev-group</url> <layout>default</layout> </repository> <repository> <id>dev</id> <name>Dev</name> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>false</enabled> <updatePolicy>never</updatePolicy> <checksumPolicy>fail</checksumPolicy> </snapshots> <url>http://SERVER:PORT/archiva/repository/dev</url> <layout>default</layout> </repository> <repository> <id>prod-group</id> <name>Prod Group</name> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>false</enabled> <updatePolicy>never</updatePolicy> <checksumPolicy>fail</checksumPolicy> </snapshots> <url>http://SERVER:PORT/archiva/repository/prod-group</url> <layout>default</layout> </repository> <repository> <id>prod</id> <name>Prod</name> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>false</enabled> <updatePolicy>never</updatePolicy> <checksumPolicy>fail</checksumPolicy> </snapshots> <url>http://SERVER:PORT/archiva/repository/prod</url> <layout>default</layout> </repository> <repository> <id>qa-group</id> <name>QA Group</name> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>false</enabled> <updatePolicy>never</updatePolicy> <checksumPolicy>fail</checksumPolicy> </snapshots> <url>http://SERVER:PORT/archiva/repository/qa-group</url> <layout>default</layout> </repository> <repository> <id>qa</id> <name>QA</name> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>false</enabled> <updatePolicy>never</updatePolicy> <checksumPolicy>fail</checksumPolicy> </snapshots> <url>http://SERVER:PORT/archiva/repository/qa</url> <layout>default</layout> </repository> <repository> <id>test-group</id> <name>Test Group</name> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>false</enabled> <updatePolicy>never</updatePolicy> <checksumPolicy>fail</checksumPolicy> </snapshots> <url>http://SERVER:PORT/archiva/repository/test-group</url> <layout>default</layout> </repository> <repository> <id>test</id> <name>Test</name> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>false</enabled> <updatePolicy>never</updatePolicy> <checksumPolicy>fail</checksumPolicy> </snapshots> <url>http://SERVER:PORT/archiva/repository/test</url> <layout>default</layout> </repository> <repository> <id>archiva-snapshots</id> <name>Archiva Snapshots</name> <releases> <enabled>false</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>never</updatePolicy> <checksumPolicy>fail</checksumPolicy> </snapshots> <url>http://SERVER:PORT/archiva/repository/snapshots</url> <layout>default</layout> </repository> </repositories> </profile> </profiles> <servers> <server> <id>dev</id> <username>hudson</username> <password>PASSWORD</password> </server> <server> <id>dev-group</id> <username>hudson</username> <password>PASSWORD</password> </server> <server> <id>archiva-snapshots</id> <username>hudson</username> <password>PASSWORD</password> </server> </servers> <mirrors> <mirror> <id>dev-mirror</id> <name>All else</name> <url>http://SERVER:PORT/archiva/repository/dev-group</url> <mirrorOf>*</mirrorOf> </mirror> </mirrors> <activeProfiles> <activeProfile>default</activeProfile> </activeProfiles> </settings>
親トピック: Mavenリポジトリ・マネージャへの移入
単一アーティファクトのデプロイ
Mavenのデプロイ・プラグインを使用して、リモート・アーティファクト・リポジトリにアーティファクトおよびプロジェクト・オブジェクト・モデルをデプロイできます。
たとえば、settings.xmlファイルの例にある定義に従ってarchiva-releases
リポジトリにデプロイするには、次のコマンドを実行します。
mvn deploy:deploy-file -Dfile=path_to_oracle-maven-sync-12.2.1.jar -DrepositoryId=archiva-releases -DpomFile=/path_to_oracle-maven-sync-12.2.1.pom -Durl=http://server:port/archiva/repository/internal
親トピック: Mavenリポジトリ・マネージャへの移入