1. Обзор
В этом кратком обзоре основное внимание будет уделено тому, где Maven локально хранит все локальные зависимости, то есть в локальном репозитории Maven.
Проще говоря, когда мы запускаем сборку Maven, все зависимости нашего проекта (jars, jar плагинов, другие артефакты) сохраняются локально для последующего использования.
Также имейте в виду, что помимо локального репозитория этого типа, Maven поддерживает три типа репозиториев:
Local
— расположение папки на локальном компьютере Dev.Central
— репозиторий, предоставленный сообществом Maven.Удаленный
— пользовательский репозиторий, принадлежащий организации
Давайте теперь сосредоточимся на локальном репозитории.
2. Локальный репозиторий
Локальный репозиторий Maven — это каталог на локальном компьютере, где хранятся все артефакты проекта.
Когда сборка Maven выполняется, Maven автоматически загружает все jar-файлы зависимостей в локальный репозиторий.
Обычно этот каталог называется .m2
.
Вот где находится локальный репозиторий по умолчанию в зависимости от ОС:
Windows: C:\Users\<User_Name>\.m2
Linux: /home/<User_Name>/.m2
Mac: /Users/<user_name>/.m2
И, конечно же, для Linux и Mac мы можем написать в краткой форме:
~/.m2
3. Пользовательский локальный репозиторий в settings.xml
Если репозиторий отсутствует в этом расположении по умолчанию, вероятно, это связано с какой-то уже существующей конфигурацией.
Этот файл конфигурации находится в каталоге установки Maven — в папке с именем conf
— и называется settings.xml
.
Вот соответствующая конфигурация, которая определяет местоположение нашего отсутствующего локального репо:
<settings>
<localRepository>C:/maven_repository</localRepository>
...
По сути, именно так мы можем изменить местоположение локального репозитория — и, конечно же, если это местоположение изменится, мы больше не найдем репозиторий в местоположении по умолчанию.
Файлы, хранящиеся в предыдущем месте, не будут перемещены автоматически.
4. Передача местоположения локального репозитория через командную строку
Помимо настройки пользовательского локального репозитория в Maven settings.xml
, команда mvn
поддерживает свойство maven.repo.local
, которое позволяет нам передавать местоположение локального репозитория в качестве параметра командной строки:
mvn -Dmaven.repo.local=/my/local/repository/path clean install
Таким образом, нам не нужно менять Maven settings.xml
.
5. Вывод
В этом кратком руководстве мы рассмотрели настройку локального репозитория Maven по умолчанию.
Далее мы обсудили, как указать Maven работать с пользовательским расположением локального репозитория.