Maven の複数のウェアハウスのソース構成と構成、およびリポジトリとミラーの違い

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 アドレスを上書きします。

おすすめ

転載: blog.csdn.net/lzzyok/article/details/120397536