Liferayのアーティファクトとモジュールをチームメイトと共有したり、GUIを使用してリポジトリを管理したりしたい場合が多々出てくるでしょう。そういった場合には、Sonatype Nexusを使用して行います。これは、リリースサーバー、スナップショットサーバー、およびプロキシサーバーの作成と管理を容易にする、Mavenリポジトリの管理サーバーです。使用できるMavenリポジトリの管理サーバーは他にもいくつかありますが(例: Artifactory)、このチュートリアルではNexusに焦点を当てています。
Nexusを使用してMavenリポジトリを作成するには、Nexusをダウンロードして、NexusのInstallationページにある指示に従ってインストールし、起動させてください。
Nexusを使用して独自のリポジトリを作成するには、以下の手順を実行します。
-
Webブラウザを開いて、Nexusリポジトリサーバー(例: http://localhost:8081/nexus)に移動し、ログインします。デフォルトのユーザー名は
admin
で、パスワードはadmin123
です。 -
[リポジトリ]をクリックして、[追加…] → *[ホストリポジトリ]*に移動します。
Nexusリポジトリの各タイプの詳細については、SonatypeのManaging Repositoriesのガイドを参照してください。
-
保持するアーティファクトのタイプに適した、リポジトリプロパティを入力します。リリースバージョンのアーティファクトをリポジトリにインストールする場合は、リポジトリポリシーとしてReleaseを指定します。以下は、リポジトリプロパティ値の例です。
- リポジトリID: liferay-releases
- リポジトリ名: Liferay Release Repository
- プロバイダー: Maven2
- リポジトリポリシー: Release
-
*[保存]*をクリックします。
これで、Nexusのリポジトリサーバーからアクセス可能なLiferay Mavenリポジトリが作成されます。
Mavenリポジトリを作成すると、作成したLiferayプロジェクトのそれぞれのスナップショットを保持することにも役立ちます。スナップショットリポジトリの作成は、リリースリポジトリの作成とほぼ同じです。唯一異なるのは、Snapshotをリポジトリポリシーとして指定する点です。以下は、スナップショットリポジトリのプロパティ値の例です。
- リポジトリID: liferay-snapshots
- リポジトリ名: Liferay Snapshot Repository
- プロバイダー: Maven2
- **リポジトリポリシー: ** Snapshot
これで、Liferayリリース(つまり、liferay-releases
)およびLiferayスナップショット(つまり、liferay-snapshots
)のリポジトリが作成されます。LiferayのMavenアーティファクトをNexusリポジトリにデプロイする方法については、Deploying Liferay Maven Artifacts to a Repositoryのチュートリアルを参照してください。
次に、Maven設定で新しいリポジトリサーバーを設定して、アーティファクトをインストールします。
ローカルMaven設定の設定方法
リポジトリサーバーを使用する前に、Maven環境設定でリポジトリサーバーを指定しておく必要があります。リポジトリの設定により、Mavenがリポジトリを見つけ、アーティファクトを取得およびインストールします。Maven設定は、[USER_HOME]/.m2/settings.xml
ファイルで行うことができます。
アーティファクト(例: Liferayアーティファクトやモジュールなど)を他のユーザーと共有している場合は、リポジトリサーバーを設定するだけで済みます。セントラルリポジトリやLiferayリポジトリからLiferayアーティファクトを自動でインストールし、アーティファクトの共有をするつもりがない場合は、Maven設定で指定されたリポジトリサーバーは必要ありません。セントラルリポジトリまたはLiferay独自のNexusリポジトリからアーティファクトをインストールするための詳細については、Installing Liferay Maven Artifactsのチュートリアルを参照してください。
Maven環境が、liferay-releases
およびliferay-snapshots
リポジトリサーバーにアクセスするように設定するには、以下の手順を実行します。
-
[USER_HOME]/.m2/settings.xml
ファイルに移動します。このファイルがまだ存在していない場合は、作成します。 -
リポジトリサーバーの設定を提供します。
liferay-releases
およびliferay-snapshots
リポジトリサーバーが設定されている、settings.xml
ファイルの内容は以下のとおりです。<?xml version="1.0"?> <settings> <servers> <server> <id>liferay-releases</id> <username>admin</username> <password>admin123</password> </server> <server> <id>liferay-snapshots</id> <username>admin</username> <password>admin123</password> </server> </servers> </settings>
ユーザー名のadmin
およびパスワードのadmin123
は、Nexusの管理者アカウント用のデフォルトの資格情報です。Nexusサーバーのこれらの資格情報を変更した場合は、必ずsettings.xml
にこれらの変更を提供してアップデートしてください。
これでリポジトリが設定されたので、ダウンロードするすべてのLiferay Mavenアーティファクトとこれから作成するLiferayモジュールアーティファクトを受け取る準備ができました。