0

ここで、「追加するリポジトリが増えるほど、ビルドが遅くなる」と読みました。本当 ?

依存関係のあるアーティファクトのバージョンが .m2 フォルダーで利用可能な場合、リポジトリはクエリされず、利用できない場合は、見つかるまで maven がそれらを循環すると考えました。正しいアーティファクトであり、これ以上探す必要はありません。したがって、どちらの場合も、余分な帯域幅を消費しません。

4

2 に答える 2

1

プロジェクトをビルドすると、jar が既に存在するかどうかを確認するために m2 リポジトリに移動し、存在しない場合は中央リポジトリから jar をダウンロードします。したがって、jar がダウンロードされれば、プロジェクトをビルドするのに時間がかかりません。

于 2014-02-04T03:52:19.253 に答える
1

この質問に示されているようにローカル リポジトリで既に利用可能であっても、Maven がリモート リポジトリで依存関係を検索する場合があります。これは、SNAPSHOT 依存関係または pom.xml が欠落している依存関係で発生します。したがって、ブログ投稿が意味していると推測できるのは、ビルドがこれらのカテゴリのいずれかに該当する場合、Maven はすべてのビルドで定義したリモート リポジトリをスキャンするということです (実際には SNAPSHOTS の場合、有効化/無効化することで Maven がスキャンするリポジトリを制限できます)。必要に応じて各リポジトリからのスナップショット)。できれば」探しているものが見つからない場合は、もちろんあきらめる前にすべてのリポジトリをスキャンする必要があります。つまり、リポジトリが多いほど、スキャンに時間がかかります (SNAPSHOTS の場合は、とにかくすべてのリポジトリをスキャンします。あるリポジトリで更新されたバージョンが見つかった場合、別のリポジトリがさらに新しいバージョンを保持していないことを「知る」ことはできません)。Maven が実際に探している依存関係を見つけて検索を停止した場合でも、依存関係が見つかったリポジトリが最後にスキャンされ、他のすべてのリポジトリがその前にスキャンされる可能性があります。

于 2012-12-03T10:18:07.823 に答える