2010-03-09 4 views
3

http://maven.apache.org/settings.html В соответствии с документацией пользовательские настройки могут быть скопированы в папку .m2 или под установку maven. Если разработчик изменяет машину или получает новый идентификатор пользователя, такие свойства должны быть скопированы вручную на эти новые машины.пользовательские настройки maven в репозитории

Возможно ли сохранить информацию о настройке конкретного пользователя в самом репозитории (скажем, SVN) и каким-либо образом загрузить скрипты mvn при запуске.

ответ

6

Если содержимое settings.xml не является тем пользователем (например, для mirrors), вы можете сохранить всю установку Maven в SVN с помощью настраиваемого conf/settings.xml и попросить разработчиков захватить его из SVN, чтобы «установить» его на новую машину, как описано в этом previous answer.

Если содержание settings.xml действительно специфично для пользователя (например, оно содержит секретные вещи, такие как пароли), то оно должно быть расположено в ~/.m2, и вам нужно как-то сделать его доступным в новом месте. Если разработчик регистрируется на другом компьютере, вы можете использовать «Roaming user profile». Если разработчик получает еще один идентификатор, вам действительно придется его дублировать. Техническое решение может зависеть от уровня конфиденциальности.

И если у вас есть несколько разработчиков, которые делят идентификатор пользователя, но все равно нуждаются в другом settings.xml, вам необходимо передать его в Maven, используя опцию -s. Можно было бы предположить, что в этом случае можно сохранить этот заказ settings.xmlв проекте (при условии, что он не содержит конфиденциальной информации). Например:

mvn -s settings-user1.xml <goal> 
0

Нет, все, что нужно иметь пользовательские настройки, заключается в том, чтобы хранить их вне проектов maven. Однако ничего не мешает вам создавать собственный репозиторий svn и хранить там свои файлы конфигурации. Вы можете написать сценарии оболочки для загрузки новой рабочей станции из этого репозитория, но это действительно зависит от того, как часто вы это делаете, чтобы сделать это полезным.

+0

У нас также есть ситуация, когда определенная машина userid делится между несколькими разработчиками, что делает проблему еще хуже. Тогда мне придется использовать разные файлы settings.xml для разных пользователей каждый раз, когда они захотят использовать эту машину. – Sam

0

Я бы предположил, что вы настроили свой собственный репозиторий, такой как Archiva, Nexus или Artifactory. Который получит ваши зависимости/плагины, тогда вы можете использовать mirror, чтобы указать явно только один репозиторий, который будет использоваться (тот, который вы установили в своей сети). Поэтому, когда разработчик меняет машину или зависимости для нескольких разработчиков, внутреннее зеркало может использоваться как репо, ваши зависимости/плагины будут загружаться в ваше местное хранилище

Смежные вопросы