Nexus3共通機能メモ

nexus3について

Java開発者は、多くの場合、次の目的でnexus3をイントラネットに展開します。

  1. 中央倉庫のキャッシュ。
  2. イントラネットの専用倉庫。

次に、これら2つの機能を別々に実行します。

環境情報

  1. nexus3バージョン:3.19.1
  2. mavenバージョン:3.6.3
  3. JDK:1.8.0_191

nexus3の導入

この記事では、nexus3の使用に焦点を当てており、ここでは展開の詳細については説明していません。展開にはdockerを使用することをお勧めします。ホームNASのdocker経由で展開しています。詳細については、「Qunhui DS218 + do maven private server(nexus3)」を参照してください

キャッシュとして使用される新しい倉庫

ここの中央倉庫は、優れた速度と安定性を備えたAlibaba Cloudを使用しています。

  1. 新しい倉庫を作成する操作は次のとおりです。
    ここに画像の説明を挿入
  2. 以下の赤いボックスに示すように、タイプ選択ページでmaven2(プロキシ)を選択します。
    ここに画像の説明を挿入
  3. 次のページの2つの場所、名前:aliyun-proxy、リモートストレージ:http://maven.aliyun.com/nexus/content/groups/public/に入力するだけです。
    ここに画像の説明を挿入
  4. フォームを送信したら、リストページに戻り、次のように、新しい倉庫のコピーボタンをクリックして倉庫の住所を取得します。
    ここに画像の説明を挿入
  5. このウェアハウスのアドレス(http://192.168.50.43:8081/repository/aliyun-proxy/を書き留めます。イントラネット上のすべてのコンピューターは、このアドレスから中央のウェアハウスjarパッケージを取得できます。セットアップ方法については後で説明します。

個人倉庫として使用される新築倉庫

中央倉庫にないjar、およびプロジェクトでリリースされた2パーティのライブラリの場合、それらはプライベートウェアハウスに保存できます。

  1. 新しい倉庫を作成し、以下の赤いボックスに示すように、タイプとしてmaven2(ホストされている)を選択します。
    ここに画像の説明を挿入
  2. 名前:nexus-private、その他を変更する必要はありません:
    ここに画像の説明を挿入
  3. ここで注意する必要があるのは、作成したプライベートウェアハウスを使用して自己リリース型の2パーティライブラリを保存する場合は、2つをビルドすることです。1つは公式にリリースされたバージョンのポリシータイプを保存し、もう1つは開発を保存します(ローカルにキャッシュしないでください)、バージョンポリシータイプはスナップショットです。この記事では、簡単にするためにリリースタイプのみを作成しました。
  4. この倉庫のアドレスを書き留めます:http : //192.168.50.43 : 8081 / repository / nexus-private/
  5. これまでのところ、ウェアハウスが作成されました。次の2つのウェアハウスがあります。
    キャッシュタイプ:http://192.168.50.43:8081/repository/aliyun-proxy/
    ローカルプライベートタイプ:http://192.168.50.43:8081/repository/nexus -プライベート/
  6. ウェアハウスを使用して、次に開発環境にMavenをセットアップします。

Maven設定(キャッシュリポジトリを使用)

最初にaliyun-proxyウェアハウスをセットアップして、nexus3のキャッシュ機能を使用できるようにします。

  1. maven構成ファイルsettings.xmlを開きます
  2. ミラーノードを見つけ、サーバー追加して構成します。内容は次のとおりです。
<mirror>
  <id>aliyun-proxy</id>
  <mirrorOf>*</mirrorOf>
  <url>http://192.168.50.43:8081/repository/aliyun-proxy/</url>
</mirror>
  1. キャッシュウェアハウスの設定が完了しました。次に、Mavenプロジェクトをビルドして確認してください。最も単純なMavenプロジェクトのpom.xmlファイルは次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.bolingcavalry</groupId>
    <artifactId>nexus3demo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.28</version>
        </dependency>
    </dependencies>
</project>
  1. 以下に示すように、pom.xmlがあるディレクトリでコマンドを実行します。mvn clean compile -U -DskipTests中央倉庫のjarがnexus3を介してダウンロードされ、プロジェクトが正常にビルドされていることがわかります。
    ここに画像の説明を挿入

中央倉庫にない壺

プライベートウェアハウスの重要な機能は、中央のウェアハウスの外でjarダウンロードを提供することです。例を見てみましょう:

  1. 中央リポジトリに存在しないjarをpom.xmlに追加します。
<dependency>
  <groupId>io.confluent</groupId>
  <artifactId>kafka-schema-registry-client</artifactId>
  <version>3.3.1</version>
</dependency>
  1. ビルドに行くと、エラーが発生します:
    3。
    上記の問題は一般的です。いくつかのjarは中央倉庫にリリースされていません。mavenでビルドするときにそれらが見つからない場合、エラーが発生します。

jarを専用倉庫にアップロードする

上記の問題の解決策:このjarを見つけます->プライベートウェアハウスにアップロードします-> mavenのビルド時にこのjarをプライベートウェアハウスからダウンロードします。

  1. アイデアを念頭に置いて、上記の問題を専用倉庫で解決してみましょう。
  2. 上記のjarをローカルのダウンロードアドレスにダウンロードします。http://packages.confluent.io/maven/io/confluent/kafka-schema-registry-client/3.3.1/kafka-schema-registry-client-3.3.1。瓶
  3. nexus3にログインし、以下の手順に従います。
    ここに画像の説明を挿入
  4. フォームに入力し、下の図の手順に従ってjarファイルをnexus3に送信します。
    ここに画像の説明を挿入
  5. プライベートウェアハウスにjarがあるので、mavenがこのjarファイルをどのように使用するかを見てみましょう。

mavenはプライベートリポジトリを使用します

  1. Maven構成ファイルsettings.xmlを開きます。
  2. プロファイルノードを見つけて、次のようにプロファイル構成を追加します。
    ここに画像の説明を挿入
  3. 検索activeProfiles追加し、ノードactiveProfile次のように、設定を:
<activeProfile>nexus3</activeProfile>
  1. 新しく追加されたミラーを見つけ、mirrorOfノードの値を変更します。変更されたミラーノードの値は次のとおりです。
<mirror>
  <id>aliyun-proxy</id>
  <mirrorOf>external:local-nexus3</mirrorOf>
  <url>http://192.168.50.43:8081/repository/aliyun-proxy/</url>
</mirror>
  1. mirrorOfの値は、前の*からexternal:local-nexus3変更さます。これは、転送ロジックの除外操作です。これを実行すると、local-nexus3ウェアハウスのリクエストはプライベートウェアハウスに転送され、他のすべてのリクエストはキャッシュに転送されます倉庫aliyun-proxy ;
  2. 今すぐmavenプロジェクトをビルドし、最後に今度は正常にビルドします。次に示すようにkafka-schema-registry-clientに関連するデータがプライベートウェアハウスからダウンロードされます
    ここに画像の説明を挿入
    これまでのところ、nexus3の共通キャッシュとプライベートウェアハウスの機能が試されています。私たちは非公開のMavenリポジトリーを構築しています。この記事が参考になることを願っています。

私の公開番号に注目してください:プログラマーXinchen

ここに画像の説明を挿入

376の元の記事を公開 986を賞賛 128万ビュー

おすすめ

転載: blog.csdn.net/boling_cavalry/article/details/105458882