Установите .m2 для одной сборки в другое место - PullRequest
5 голосов
/ 31 мая 2011

Для задания сборки на сервере сборки я хочу установить для местоположения .m2 значение, отличное от user.home/.m2.

Я думал, что смогу обмануть maven, установив export HOME=$WORKSPACE для сборки, но артефакты продолжали загружаться и развертываться в домашнем каталоге пользователя сборки.

Поэтому я думаю, что maven использует системное свойство user.home, которое, похоже, не учитывает $HOME.

Есть ли решение для этого? У нас есть локальный кэш Maven, и я хочу загрузить все артефакты для этого задания сборки и предотвратить любое развертывание в $HOME/.m2 пользователя сборки, чтобы отделить отдельные задания сборки друг от друга. По крайней мере, я хочу это для некоторых работ.

Есть идеи? Заранее спасибо!

Ответы [ 2 ]

6 голосов
/ 31 мая 2011

Вы можете переопределить расположение файла settings.xml из командной строки ...

mvn <target> --settings /path/to/settings.xml

Здесь вы можете настроить все, что вам нужно.

[update] Вы даже можете переопределить «глобальные» настройки, которые обычно объединяются с настройками пользователя. xml из его каталога .m2 через --global-settings /path/to/global/settings.xml

5 голосов
/ 31 мая 2011

Если вы просто хотите указать свой собственный локальный репозиторий, вы можете использовать опцию maven.repo.local:

-Dmaven.repo.local=/path/to/your/repository

Ресурсы:

  • maven.apache.org (на веб-сайте maven-1.x, но все еще работает с maven 3.0 - не могу найти надежный источник для этой версии)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...