Подтвердить что ты не робот

Maven - альтернативный .m2 каталог

Как глобально изменить расположение каталога maven .m2?

Maven использует ${user.home}/.m2 для настроек, кэша репозитория и т.д.

Я знаю, что могу:

  • укажите другой каталог для кеша репозитория (изменив атрибут localRepository в моем глобальном файле конфигурации), но не для чего-либо еще (settings.xml, например).
  • Используйте опцию -s CLI, но я должен буду это делать каждый раз, когда я использую maven.

Но в идеале я бы хотел глобальное решение. Интуитивно это должно быть возможно.

Я хотел бы сделать это, потому что моя компания устанавливает мой ${user.home} на общий диск, который подвержен сетевым проблемам.

4b9b3361

Ответ 1

Лучшим вариантом является создание .m2 в вашем user.home как symlink upfront, прежде чем использовать Maven для указания на локальную папку на вашем компьютере.

В противном случае вы можете создать псевдоним оболочки для mvn, называемый mymvn (или m3 или что-то еще), который проходит в -s, а также локальное местоположение репо.

Ответ 2

Используйте переменную среды MAVEN_OPTS, чтобы указать местоположение вашего репозитория. Установите его во время запуска оболочки, и вам не нужно каждый раз вводить его в командной строке.

export MAVEN_OPTS="-Dmaven.repo.local=/path/to/repository"

Добавление. Прости. Вы сказали, что хотите изменить .m2 для настроек, а также для репозитория. Вы хотите установить переменную среды M2_HOME. В этой документации говорится, что элементы управления, где maven ищет settings.xml. Оттуда вы можете управлять местоположением репозитория и т.д.

Ответ 3

Вам нужно найти файл settings.xml, а затем отредактировать <localRepository>/path/to/local/repo</localRepository>