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.xmlPoziom 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.xmlM2_HOMEZmienna dla globalnej. Zobacz odniesienie do ustawień :
settingsElementem wsettings.xmlpliku 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 ...”