Maven ウェアハウス構成
ウェアハウスの優先順位は次のとおりです: ローカル ウェアハウス (localRepositories) > プロファイル内のリポジトリ ウェアハウス > POM > ミラー グローバル ウェアハウス
リポジトリの構成
リポジトリは、jar パッケージがダウンロードされる場所を指定します。リポジトリは複数存在する場合があります。
リポジトリは、すべての Maven プロジェクトに有効になる settings.xml を通じて設定することも、このプロジェクトの pom.xml で Maven ウェアハウス タグのみを設定することもできます。
独自の Maven プロジェクトの pom.xml に次の構成を追加する場合。
<repositories>
<repository>
<id>aliyun-releases</id>
<name>阿里云仓库(name可以随便起)</name>
<url>https://maven.aliyun.com/repository/public</url>
</repository>
</repositories>
このとき、Maven は、setting.xml の設定を読み取る代わりに、この設定を優先します。この設定後、Maven は aliyun から jar パッケージを自動的にダウンロードします。
repositories タグの下に複数のリポジトリを設定できます。複数のリポジトリを設定した場合、Maven はどれを使用しますか? 答えは、出現順に使用することです。最初のリポジトリが利用可能な場合は、最初のリポジトリを使用します。そうでない場合は、最初のリポジトリを使用します。次の 2 つの図は、この問題を示しています。
ミラー構成
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<!--mirrorOf的配置很重要后面会详细说明-->
<mirrorOf>central</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
上記で設定したように、Maven は、jar パッケージのダウンロード アドレスとして、setting.xml で設定されたミラーを読み取ります。
なぜ?
設定された MirrorOf は <mirrorOf>central</mirrorOf> であるため、<mirrorOf></mirrorOf> に <mirrorOf>abc</mirrorOf> などのパラメータを何気なく設定した場合、現時点では設定したウェアハウスは機能しません。これは、Maven にはデフォルトで次の組み込みウェアハウスがあるためです。このデフォルト ウェアハウスの ID は Central です。mirrorOf を <mirrorOf>central</mirrorOf> に設定すると、Maven は ID が Central のウェアハウスを検索します。次に ID を入力します。中央倉庫のアドレスを <mirror> タグで設定した URL に置き換えます。これにより、設定したミラーが機能します。もちろん、mirrorOf を <mirrorOf>*</mirrorOf> に設定して、すべてのウェアハウスが jar パッケージのダウンロード アドレスとして構成したミラーを使用することを示すこともできます。
ミラーオブとミラーオブの関係は何ですか?
<repository> <id> は役に立たないようですが、確かに pom.xml でウェアハウスを設定するだけなら、この ID は役に立たないので、気軽に書くことができます。
実際、この ID は上記のミラーと組み合わせて使用されます。mirrorOf をまだ覚えていますか?mirrorOf を <mirrorOf>central</mirrorOf> として構成します。はい、ミラー内の URL はデフォルトの中央ウェアハウス URL を上書きします。 <repository> タグの下の ID は、mirrorOf 用です。
リポジトリ内の ID が MirrorOf と一致する場合、mirrorOf 内の URL はリポジトリ内の URL アドレスを上書きします。