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

StackOverflow https://stackoverflow.com/questions/1261215

Вопрос

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

Это было полезно?

Решение

Запустите 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
...

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

Другие советы

Ваш комментарий к (правильному) ответу 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, чтобы добавить местоположения файлов в разрешенный объект Settings.

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

mvn help:effective-settings

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

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

  1. Уровень пользователя.Этот файл настройки.

              NOTE: This location can be overridden with the CLI option:
    
              -s /path/to/user/settings.xml
    
  2. Глобальный уровень.Этот файл настройки.Обычно это предусмотрено в $ {maven.home}/consf/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, но не должно быть связано с каким -либо конкретным проектом или распространяется на аудиторию.К ним относятся значения, такие как локальное местоположение репозитория, альтернативные серверы удаленного репозитория и информация об аутентификации.Есть два места, где может жить файл настройки.

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top