Перейти к основному содержимому

Где находится локальный репозиторий Maven?

· 2 мин. чтения

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 работать с пользовательским расположением локального репозитория.