Как использовать командную строку maven, чтобы определить, какой файл settings.xml собирает Maven?
Как использовать командную строку maven, чтобы определить, какой файл settings.xml собирает Maven?
Ответы:
Запустите 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
...
(Оригинальные имена каталогов удалены мной)
Ваш комментарий к (правильному) ответу 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, чтобы вставить расположения файлов в разрешенный объект настроек.
Вы можете использовать плагин помощи maven, чтобы сообщить вам содержимое ваших пользовательских файлов и файлов глобальных настроек.
mvn help:effective-settings
попросит maven выложить объединенные глобальные и пользовательские настройки .
Это файл конфигурации для 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
M2_HOME
Переменная среды для глобальной. См. Ссылку «Настройки» :
settings
Элемент вsettings.xml
файле содержит элементы , используемые для определения значения, настроить выполнение Maven различными способами, какpom.xml
, но не должны быть объединены в какой - либо конкретный проект, или распространяться на аудиторию. К ним относятся такие значения, как местоположение локального хранилища, альтернативные серверы удаленного хранилища и информация об аутентификации. Файл settings.xml может находиться в двух местах:
- Maven установить:
$M2_HOME/conf/settings.xml
- Установка пользователя:
${user.home}/.m2/settings.xml
the former settings.xml are also called global settings, the latter settings.xml are referred to as user settings. If both files exists, their contents gets merged, with the user-specific settings.xml being dominant.
Быстрый и грязный метод определения того, использует ли Maven нужный файл settings.xml, сделает его XML недействительным и запустит некоторую безопасную команду maven, которая требует settings.xml.
Если он читает этот файл settings.xml, то Maven сообщает об ошибке: «Ошибка чтения settings.xml ...»