Maven プライベート ウェアハウス - Nexus3

Maven プライベート ウェアハウス - Nexus3

  • 作業中に、いくつかの一般的なツール ライブラリをカプセル化する必要がある場合があります
  • ただし、会社コードはより機密性が高く、一般に公共の倉庫に公開することはできません
  • この時点で、Nexus3 を使用して、社内で使用するための専用倉庫を構築できます。
  • 動画版:ビリビリ

デモ手順

  1. docker を使用して Nexus3 サービスを作成する
  2. プロジェクトを作成してリポジトリをプッシュする
    • プロジェクトの pom.xml ファイル構成を変更する
    • Maven ソフトウェア構成の変更
    • 「mvn deploy」コマンドを使用してウェアハウスにプッシュします
  3. プロジェクトを作成し、前のステップのプロジェクトを参照します
    • Maven ソフトウェア構成の変更
    • IDE を再起動する
    • 「mvn install」コマンドを使用して依存関係をインストールします

1. docker を使用して nexus3 サービスを作成する

  • docker を使用して nexus3 コンテナーを作成する
    • アクセス: http: //127.0.0.1:8081
    • リソースの消費量が多く、起動速度が遅くなります. ページにアクセスできない場合は、もう少しお待ちください (私のようなコンピューターのスカムでは、3 ~ 5 分かかる場合があります)。
docker run -d -p 8081:8081 --name nexus sonatype/nexus3
复制代码
  • nexus3 のパスワードを取得する

    • ページの右上隅にある [サインイン] をクリックし、ポップアップ ウィンドウの指示に従ってデフォルトのパスワードを見つけます。
      • デフォルトのアカウント: 管理者
      • デフォルトのパスワード: コンテナー内の「/nexus-data/admin.password」
      • パスワードをリセットし、覚えているパスワードを変更する (またはデフォルトのパスワードを使用する) ように求められます。後で構成で使用する必要があります。
  • 下の図に示すように、「maven-releases」/「maven-snapshots」倉庫アドレスをコピーします。

nexus.png

  • nexus-public は、デフォルトで次のウェアハウスを含むウェアハウス グループです。
    • maven-releases: ローカル リリース ライブラリ
    • maven-snapshots: ローカル スナップショット ライブラリ
    • maven-central: プロキシ セントラル Maven ライブラリ、Alibaba Cloud などの国内プロキシに変更可能 ( maven.aliyun.com/repository/… )

2. プロジェクトを作成してウェアハウスをプッシュする

プロジェクトの pom.xml ファイル構成を変更する

  • Maven プロジェクトを直接変換する (または新しい Maven プロジェクトを作成する)
    • 「mvn package」を実行してjarプロジェクトをパッケージ化する
    • 次のように pom.xml に nexus3 アドレス情報を追加します。
      • 依存関係/ビルドと同じレベル
    <dependencies>...略</dependencies>
    <build>...略</build>

    <distributionManagement>
        <repository>
            <id>maven-releases</id>
            <name>maven-releases</name>
            <url>${这里填写从nexus页面上复制的maven-releases的url}</url>
        </repository>
        <snapshotRepository>
            <id>maven-snapshots</id>
            <name>maven-snapshots</name>
            <url>${这里填写从nexus页面上复制的maven-snapshots的url}</url>
        </snapshotRepository>
    </distributionManagement>
复制代码
  • プッシュパッケージ
    • 「mvn deoloy」を実行
    • このとき、エラー「...status: 401 Unauthorized」が報告され、プロジェクト構成が正しいことを示します

Maven ソフトウェア構成の変更

  • ${maven root directory}/conf/settings.xmlを開きます
    • nexus アカウントのパスワードを追加する
    • ID は、プロジェクト pom.xml で構成されたものと一致する必要があります
<servers>
    <server>
        <id>maven-releases</id>
        <username>admin</username>
        <password>${密码}</password>
    </server>
    <server>
        <id>maven-snapshots</id>
        <username>admin</username>
        <password>${密码}</password>
    </server>
</servers>
复制代码
  • 「mvn deploy」を再度実行してもエラーは報告されません
    • nexus ページを更新して、アップロードされたパッケージを確認します
      • 「maven-releases」ディレクトリに「-SNAPSHOT」がないプロジェクトリリース
      • それ以外の場合は、「maven-releases」ディレクトリにあります

3. プロジェクトを作成し、前のステップのプロジェクト コードを参照します。

Maven ソフトウェア構成の変更

  • ${maven root directory}/conf/settings.xmlを開きます
    • ミラーリングを有効にし、他のミラーリングがある場合はコメントアウトします
  • IDE を再起動し、使用するオンライン ライブラリのように pom.xml に依存関係を追加します。
<mirror>
    <id>nexus-public</id>
    <mirrorOf>*</mirrorOf>
    <name>私有仓库</name>
    <url>${这里填写从nexus页面上复制的maven-public的url}</url>
</mirror>
复制代码

参考文献

おすすめ

転載: juejin.im/post/7222282849554481189