Maven - альтернативный .m2 каталог
Как глобально изменить расположение каталога maven .m2
?
Maven использует ${user.home}/.m2
для настроек, кэша репозитория и т.д.
Я знаю, что могу:
- укажите другой каталог для кеша репозитория (изменив атрибут
localRepository
в моем глобальном файле конфигурации), но не для чего-либо еще (settings.xml
, например).
- Используйте опцию
-s
CLI, но я должен буду это делать каждый раз, когда я использую maven.
Но в идеале я бы хотел глобальное решение. Интуитивно это должно быть возможно.
Я хотел бы сделать это, потому что моя компания устанавливает мой ${user.home} на общий диск, который подвержен сетевым проблемам.
Ответы
Ответ 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>