Как использовать командную строку 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