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

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

Ответ 1

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

...
[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
...

(Исходные имена каталогов удалены мной)

Ответ 2

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

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

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

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

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

Ответ 3

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

mvn help:effective-settings

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

Ответ 4

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

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

              NOTE: This location can be overridden with the CLI option:
    
              -s /path/to/user/settings.xml
    
  • Глобальный уровень. Этот файл 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
    

Ответ 5

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

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

  • Установка Maven: $M2_HOME/conf/settings.xml
  • Пользовательская установка: ${user.home}/.m2/settings.xml

Ответ 6

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

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

Ответ 7

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

mvn --version