Maven-репозитории избавляют от дублирования тем, что каждый JAR-файл хранится только один раз, неважно сколько проектов от него зависит. Например, если 10 модулей нуждаются в Spring, они все ссылаются на один и тот же JAR в локальном репозитории вместо того, чтобы хранить отдельные копии. Это значительно снижает расходы на хранение по сравнению с системами контроля версий типа CVS, где дублирующиеся зависимости пришлось бы добавлять для каждого проекта.
Процессы загрузки проекта и его сборки работают намного быстрее, когда зависимости управляются через Maven-репозитории. Поскольку JAR-файлы уже закэшированы локально, их не нужно скачивать при каждом чекауте. Разработчики могут собирать и компилировать проекты сразу же без ожидания передачи больших бинарных файлов.
Внешние зависимости не нужно отслеживать в системе контроля версий. В отличие от исходного кода, который постоянно меняется, сторонние библиотеки остаются относительно стабильными. Хранение JAR-файлов в CVS создаёт лишнюю сложность и накладные расходы, потому что:
Maven-репозитории специально созданы для управления зависимостями. Они дают:
Системы контроля версий должны хранить только исходный код, а не бинарные артефакты. Это поддерживает чистую структуру репозитория и позволяет команде сосредоточиться на отслеживании значимых изменений в коде, а не на управлении большими бинарными файлами.
Maven-репозитории хранят каждый JAR-файл только один раз, что позволяет нескольким проектам ссылаться на одну и ту же копию зависимости, тогда как хранение JAR-файлов в системах контроля версий типа CVS требовало бы отдельных копий для каждого проекта, который их использует.
Новый — ещё не проверен сообществом
Вы