Mavenプライベートサーバー(Nexus)の紹介と使用

プライベートサーバーのインストール

https://blog.csdn.net/javanbme/article/details/113336338

 

1.倉庫の紹介

1)maven-central:maven中央ライブラリ、デフォルトでhttps://repo1.maven.org/maven2/からjarプルます

2)maven-releases:プライベートライブラリリリースjar

3)maven-snapshots:プライベートライブラリスナップショット(デバッグバージョン)jar

4)maven-public:ウェアハウスのグループ化。上記の3つのウェアハウスを組み合わせて外部サービスを提供し、ローカルのmaven基本構成settings.xmlで使用します。

 

ネクサス倉庫タイプ紹介

以下のウェアハウスがデフォルトでインストールされます。コンソールでリモートウェアハウス、サードパーティウェアハウスなどのアドレスを変更することもできます。

  • ホスト型(ホストウェアハウスライブラリ):会社が開発したjarパッケージ(公式バージョン、テストバージョン)を保存します
  • プロキシ(プロキシウェアハウス):プロキシ中央ウェアハウス、Apacheでのテストバージョンのjarパッケージ
  • グループ(グループウェアハウス):ホスト(ホストウェアハウス)とプロキシ(プロキシウェアハウス)を含む、使用時にグループウェアハウスに接続します

依存パッケージを見つけるプロセス:最初にローカルウェアハウスで検索し、見つからない場合はリモートプライベートサーバーを検索します。リモートプライベートサーバーの検索ルールでは、最初にホスト属性のプライベートライブラリを検索してから、プロキシ属性のリモートウェアハウス。複数のプロキシを構成できます。

 

2.倉庫の紹介と作成

2.1 jCenterAlibabaCloudWarehouseを作成する

http://maven.aliyun.com/nexus/content/groups/public/

2.2 Maven中央倉庫(変更する必要はありません)

https://repo1.maven.org/maven2/

2.3JcenterウェアハウスをMaven-パブリックグループウェアハウスに移動します

 

3.構成の依存関係

3.1Mavenリポジトリミラーを追加する

グループウェアハウスを作成した後、次のように、setting.xmlファイルを変更し、mavenウェアハウスミラーを追加します。

<mirrors>
    <mirror>
      <id>nexus-myself</id>
      <!--*指的是访问任何仓库都使用我们的私服-->
      <mirrorOf>*</mirrorOf>
      <name>Nexus myself</name>
      <url>http://121.4.207.231:8081/repository/maven-public/</url>
    </mirror>
</mirrors>

3.2グローバル構成のダウンロードの依存関係(つまり、プロジェクトpomを構成する必要はありません)

maven settings.xmlファイルでプライベートサーバー構成を構成します。この構成の後、この構成をローカルで使用するmavenプロジェクトのすべてのpomファイルは、関連する構成をダウンロードするためにプライベートサーバーを構成する必要はありません。

<profiles>
  <profile>
     <id>mycof</id>
        <repositories>
        <!-- 私有库地址-->
          <repository>
          <id>nexus</id>
          <url>http://121.4.207.231:8081/repository/maven-public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>      
      <pluginRepositories>
        <!--插件库地址-->
        <pluginRepository>
          <id>nexus</id>
          <url>http://121.4.207.231:8081/repository/maven-public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
           </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
</profiles>

3.3上記の構成の使用をアクティブ化する

<!--激活profile-->
<activeProfiles>
  <activeProfile>mycof</activeProfile>
</activeProfiles>

3.4個別のプロジェクトダウンロード依存関係(つまり、プロジェクトpomファイルの構成)(拡張)

この構成は、Mavenの設定構成を変更せずに、単一のプロジェクトのpomファイルを変更するためのものです。

<repositories>
  <repository>
    <id>nexus</id>
    <url>http://121.4.207.231:8081/repository/maven-public/</url>
    <releases>
      <enabled>true</enabled>
    </releases>
    <snapshots>
    <enabled>true</enabled>
    </snapshots>
  </repository>
</repositories>

 

4.Jarパッケージをプライベートサーバーにアップロードします

中央倉庫で利用できないjarパッケージについては、自分でプライベートサーバーに公開する必要があります。jarパッケージは主に2つのカテゴリに分類されます。

1つのタイプは、プロジェクトチームの他の同僚が使用するためにローカルで開発されます。これにより、プロジェクトのpomファイルとMaven設定ファイルが直接構成され、デプロイされてから公開されます。

もう1つはサードパーティのjarパッケージで、Webページに直接アップロードして、対応するGAVを設定できます。

 

4.1ローカルMavenによって開発されたプロジェクトアップロード構成

Mavenの設定ファイル構成

<servers>
    <server>  
        <id>maven-releases</id>  
        <username>admin</username>  
        <password>admin123</password>  
    </server>  
    <server>  
        <id>maven-snapshots</id>  
        <username>admin</username>  
        <password>admin123</password>  
    </server>
  </servers>

プロジェクトでのPomファイルの構成

<distributionManagement>
    <repository>
        <id>maven-releases</id>
        <name>Nexus Release Repository</name>
        <url>http://121.4.207.231:8081/repository/maven-releases/</url>
    </repository>
    <snapshotRepository>
        <id>maven-snapshots</id>
        <name>Nexus Snapshot Repository</name>
        <url>http://121.4.207.231:8081/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>

<profiles>
    <profile>
        <id>java8-doclint-disabled</id>
        <activation>
            <jdk>1.8</jdk>
        </activation>
        <properties>
            <javadoc.opts>-Xdoclint:none</javadoc.opts>
        </properties>
    </profile>
</profiles>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <!--编译插件-->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <encoding>UTF-8</encoding>
                <!--解决JDK7以后,带com.sun.*的类库将不会被支持-->
                <!--<compilerArgument>-XDignore.symbol.file</compilerArgument>-->
                <compilerArguments>
                    <bootclasspath>${java.home}/lib/rt.jar:${java.home}/lib/jce.jar</bootclasspath>
                </compilerArguments>
            </configuration>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
        </plugin>
        <!-- 生成javadoc文档包的插件 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.9</version>
            <executions>
                <execution>
                    <id>attach-javadocs</id>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                    <configuration>
                        <additionalparam>${javadoc.opts}</additionalparam>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <!-- 生成sources源码包的插件 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <attach>true</attach>
            </configuration>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>jar-no-fork</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <!--部署jar包到远程仓库-->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <version>2.7</version>
        </plugin>
    </plugins>
</build>

  Mavenのデプロイコマンドを実行します

  ps:最初の初期化は少し遅く、デプロイが成功するのを辛抱強く待って、依存関係を確認します

  リリースウェアハウスは、デフォルトで繰り返しリリースをサポートしていません。プロジェクトでSNAPSHOTサフィックスが使用されている場合、構成は必要ありません。スナップショットバージョンは、アップロード時間に基づいて新しいスナップショットバージョンを検出します。

 

4.2サードパーティのjarパッケージのアップロード

image.png

 

5.プライベートサーバーのJarパッケージを導入します

 

 

 

おすすめ

転載: blog.csdn.net/javanbme/article/details/113345312