Nexus Repository Managerのインストール
公式サイトより最新版をダウンロード後、展開ディレクトリのbinフォルダに移動します。Windows環境ではコマンドプロンプトで以下を実行します。
nexus.exe run
起動完了後、ブラウザでhttp://localhost:8081にアクセスし、デフォルトのアカウントadminとパスワードadmin123でログインします。初回ログイン時はパスワード変更が求められます。
リポジトリタイプの設定
Mavenリポジトリには3種類のタイプがあります。
- ホステッド:自社生成のアーティファクトを格納する内部リポジトリ
- プロキシ:外部リポジトリ(例:Alibaba Mavenリポジトリ)を参照するリポジトリ
- グループ:複数リポジトリを統合した論理リポジトリ(ホステッド+プロキシの組み合わせ)
リポジトリの種類と利用方法
| リポジトリタイプ | 利用目的 | 例 |
|---|---|---|
| ホステッド | 自作ライブラリの公開 | maven-releases |
| プロキシ | 外部リポジトリの参照 | aliyun-maven |
| グループ | 統合リポジトリの作成 | maven-group |
プロキシリポジトリの追加例
- [リポジトリ] > [新規] > [Maven 2プロキシ]を選択
- 名称:
aliyun-maven - URL:
http://maven.aliyun.com/nexus/content/groups/public/ - グループリポジトリ
maven-groupに追加
Mavenプロジェクトの設定
settings.xmlへの設定
<servers>
<server>
<id>release_repo</id>
<username>repo_admin</username>
<password>secureP@ss123</password>
</server>
<server>
<id>snap_repo</id>
<username>repo_admin</username>
<password>secureP@ss123</password>
</server>
</servers>
pom.xmlのリポジトリ設定
<repositories>
<repository>
<id>internal_maven</id>
<url>http://localhost:8081/repository/maven-group</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
アーティファクトのリポジトリへのデプロイ設定
<distributionManagement>
<repository>
<id>release_repo</id>
<url>http://localhost:8081/repository/maven-releases</url>
</repository>
<snapshotRepository>
<id>snap_repo</id>
<url>http://localhost:8081/repository/maven-snapshots</url>
</snapshotRepository>
</distributionManagement>
SNAPSHOTとRELEASEの動作差異
-
SNAPSHOT版:
-SNAPSHOTがバージョンに含まれる(例:1.2.0-SNAPSHOT) -
デプロイ時は自動的にスナップショットリポジトリに格納
-
依存関係を指定した場合、最新バージョンを自動取得
-
RELEASE版:バージョンに
-SNAPSHOTが含まれない -
デプロイ時はリリースリポジトリに格納
-
依存関係指定時はキャッシュされたバージョンを使用
注意点
- リポジトリの重複デプロイを許可するには、
maven-releasesリポジトリの設定でAllow redeployを有効にします - パスワードは
admin123ではなく強力なパスワードを使用してください - 400エラーはリポジトリの重複デプロイ設定が無効な場合に発生します
- 401エラーは認証情報が不正な場合に発生します