Команда Maven, чтобы определить, какой файл settings.xml использует Maven - PullRequest
243 голосов
/ 11 августа 2009

Как использовать командную строку maven, чтобы определить, какой файл settings.xml собирает Maven?

Ответы [ 7 ]

292 голосов
/ 10 мая 2012

Запустите maven с опцией -X (отладка) и проверьте начало вывода. Там должно быть что-то вроде этого:

...
[INFO] Error stacktraces are turned on.
[DEBUG] Reading global settings from c:\....\apache-maven-3.0.3\conf\settings.xml
[DEBUG] Reading user settings from c:\....\.m2\settings.xml
[DEBUG] Using local repository at C:\....\repository
...

(Оригинальные имена каталогов удалены мной)

163 голосов
/ 12 августа 2009

Ваш комментарий к (правильному) ответу cletus подразумевает, что задействовано несколько файлов настроек Maven.

Maven всегда использует один или два файла настроек. Глобальные настройки, определенные в ($ {M2_HOME} /conf/settings.xml), всегда обязательны. Файл пользовательских настроек (определенный в $ {user.home} /. M2 / settings.xml) является необязательным. Любые настройки, определенные в пользовательских настройках, имеют приоритет над соответствующими глобальными настройками.

Вы можете переопределить расположение глобальных и пользовательских настроек из командной строки, в следующем примере для глобальных настроек будет установлено значение c: \ global \ settings.xml , а для пользовательских настроек - C: \ пользователь \ settings.xml

mvn install --settings c:\user\settings.xml 
    --global-settings c:\global\settings.xml

В настоящее время нет никаких свойств или средств, позволяющих установить, из каких файлов пользователя и глобальных настроек использовался Maven. Чтобы получить доступ к этим значениям, вам потребуется изменить MavenCli и / или DefaultMavenSettingsBuilder, чтобы вставить расположения файлов в разрешенный объект настроек.

112 голосов
/ 07 ноября 2012

Вы можете использовать плагин помощи maven , чтобы сообщить вам содержимое ваших пользовательских файлов и файлов глобальных настроек.

mvn help:effective-settings

попросит maven выложить объединенные глобальные и пользовательские настройки .

35 голосов
/ 12 августа 2009

Это файл конфигурации для Maven. Можно указать на двух уровнях:

  1. Уровень пользователя. Этот файл settings.xml предоставляет конфигурацию для одного пользователя, и обычно предоставляется в $ {user.home} /. m2 / settings.xml.

              NOTE: This location can be overridden with the CLI option:
    
              -s /path/to/user/settings.xml
    
  2. Глобальный уровень. Этот файл settings.xml предоставляет конфигурацию для всех Maven пользователи на машине (если они все используют один и тот же Maven монтаж). Обычно предоставляется в $ {} Maven.home /conf/settings.xml.

              NOTE: This location can be overridden with the CLI option:
    
              -gs /path/to/global/settings.xml
    
23 голосов
/ 17 сентября 2009

Быстрый и грязный метод определения того, использует ли Maven требуемый файл settings.xml, сделает его XML недействительным и запустит некоторую безопасную команду maven, которая требует settings.xml.

Если он читает это settings.xml, то Maven сообщает об ошибке: "Ошибка чтения settings.xml ..."

23 голосов
/ 11 августа 2009

Переменная окружения M2_HOME для глобальной. См. Справочник настроек :

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

  • Установка Maven: $M2_HOME/conf/settings.xml
  • Установка пользователя: ${user.home}/.m2/settings.xml
0 голосов
/ 19 декабря 2018

Если вы хотите узнать путь к файлу settings.xml используемого вами maven (в дополнение к другой информации), из командной строки вы запустите:

mvn --version

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...