プライベートサーバーのインストール
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パッケージのアップロード
5.プライベートサーバーのJarパッケージを導入します