Yoyは、2つの方法でアーティファクトを検索するためのリポジトリを定義します。
1)プロジェクトセクションのpom.xml
<project>
....
<repositories>
<repository>
...
<url>...</url>
</repository>
</repositories>
</project>
2)および/またはファイル内$USER_HOME$/.m2/settings.xml
(WEBには多くの例があります)
Mavenは、リポジトリURLを使用してアーティファクトのURLを構築し、アーティファクトグループ、ID、バージョン、タイプ、および分類子に従ってパスを追加することにより、からアーティファクトをダウンロードします。そして、groupIdのドットを'/'に変換します
RepoUrl/groupId/artifactId/version/artifactId-version-classifier.type
例:
https://repository.apache.org/content/repositories/releases/commons-io/commons-io/2.4/commons-io-2.4.jar
https://repository.apache.org/content/repositories/releases/commons-io/commons-io/2.4/commons-io-2.4-sources.jar
https://repository.apache.org/content/repositories/releases/commons-io/commons-io/2.4/commons-io-2.4-javadoc.jar
これは慣例であり、ArtifactoryまたはNexusから独立しています。これはMavenです。すべてがHTTPまたはHTTPSを介して転送されます。さらに、Mavenはセキュリティの目的でMD5ファイルとSHA1ファイルを処理します。
ダウンロードされると、アーティファクトはワークステーションのローカルリポジトリ$USER_HOME$/.m2/repositories
(リモートリポジトリに似た構造を持つ)に保存され、キャッシュおよびプロキシとして機能します。
通常、ArtifactoryまたはNexusは、企業レベルでの一種のローカルキャッシュおよびプロキシであり、それを管理するためのいくつかの機能を備えています。確かに、彼らは会社の開発者によって公開されたMavenアーティファクトをホストしています。
リポジトリの3つのレベルのように見えます:ローカル-ローカル会社-グローバル