Jak użyć wiersza polecenia maven, aby ustalić, który plik settings.xml ma pobierać Maven?
Jak użyć wiersza polecenia maven, aby ustalić, który plik settings.xml ma pobierać Maven?
Odpowiedzi:
Uruchom maven z opcją -X (debugowanie) i sprawdź początek danych wyjściowych. Powinno być coś takiego:
...
[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
...
(Oryginalne nazwy katalogów są usuwane przeze mnie)
Twój komentarz do (poprawnej) odpowiedzi cletus sugeruje, że w grę wchodzi wiele plików ustawień Maven.
Maven zawsze używa jednego lub dwóch plików ustawień. Ustawienia globalne zdefiniowane w ($ {M2_HOME} /conf/settings.xml) są zawsze wymagane. Plik ustawień użytkownika (zdefiniowany w $ {user.home} /. M2 / settings.xml) jest opcjonalny. Wszelkie ustawienia zdefiniowane w ustawieniach użytkownika mają pierwszeństwo przed odpowiednimi ustawieniami globalnymi.
Możesz zastąpić lokalizację ustawień globalnych i ustawień użytkownika z wiersza polecenia, w poniższym przykładzie ustawisz ustawienia globalne na c: \ global \ settings.xml, a ustawienia użytkownika na c: \ user \ settings.xml :
mvn install --settings c:\user\settings.xml
--global-settings c:\global\settings.xml
Obecnie nie ma właściwości ani środków pozwalających ustalić, z jakich plików ustawień użytkownika i ustawień globalnych korzystano w Maven. Aby uzyskać dostęp do tych wartości, należy zmodyfikować MavenCli i / lub DefaultMavenSettingsBuilder, aby wstrzyknąć lokalizacje plików do rozstrzygniętego obiektu Ustawienia.
Możesz użyć wtyczki pomocy maven, aby poinformować Cię o zawartości pliku użytkownika i ustawień globalnych.
mvn help:effective-settings
poprosi maven o wypluwanie połączonych ustawień globalnych i ustawień użytkownika .
To jest plik konfiguracyjny dla Maven. Można go określić na dwóch poziomach:
Poziom użytkownika. Ten plik settings.xml zapewnia konfigurację dla jednego użytkownika i zwykle jest dostępny w $ {user.home} /. M2 / settings.xml.
NOTE: This location can be overridden with the CLI option:
-s /path/to/user/settings.xml
Poziom globalny. Ten plik settings.xml zapewnia konfigurację dla wszystkich użytkowników Maven na komputerze (przy założeniu, że wszyscy korzystają z tej samej instalacji Maven). Zwykle jest dostarczany w $ {maven.home} /conf/settings.xml.
NOTE: This location can be overridden with the CLI option:
-gs /path/to/global/settings.xml
M2_HOME
Zmienna dla globalnej. Zobacz odniesienie do ustawień :
settings
Elementem wsettings.xml
pliku zawiera elementy stosowane do określenia wartości, które konfigurują Maven wykonanie na różne sposoby, takie jakpom.xml
, ale nie powinno być dołączone do każdego projektu określonego, lub dystrybuowane do odbiorców. Należą do nich takie wartości, jak lokalizacja lokalnego repozytorium, alternatywne serwery zdalnego repozytorium i informacje uwierzytelniające. Istnieją dwa lokalizacje, w których może znajdować się plik settings.xml:
- Instalacja Maven:
$M2_HOME/conf/settings.xml
- Instalacja użytkownika:
${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.
Szybka i brudna metoda ustalenia, czy Maven używa pożądanych ustawień. Xml unieważniłby swój plik xml i uruchomiłaby komendę bezpiecznego maven wymagającą ustawienia.xml
Jeśli czyta to settings.xml, to Maven zgłasza błąd: „Błąd odczytu ustawień.xml ...”