Wie verwende ich die Maven-Kommandozeile, um festzustellen, welche settings.xml-Datei Maven aufgreift?
Antworten
Zu viele Anzeigen?Starten Sie maven mit der Option -X (debug) und untersuchen Sie den Anfang der Ausgabe. Es sollte so etwas wie das hier stehen:
...
[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
...
(Originalverzeichnisnamen wurden von mir entfernt)
Sie können die Maven-Hilfe-Plugin um Ihnen den Inhalt Ihrer Benutzer- und globalen Einstellungsdateien mitzuteilen.
mvn help:effective-settings
wird Maven auffordern, die kombinierte globale und benutzerdefinierte Einstellungen .
Ihr Kommentar zu cletus' (richtiger) Antwort impliziert, dass mehrere Maven-Einstellungsdateien beteiligt sind.
Maven verwendet immer entweder eine oder zwei Einstellungsdateien. Die globale Einstellungen definiert in ( ${M2_HOME}/conf/settings.xml
) ist immer erforderlich. Die Website Benutzereinstellungen Datei (definiert in ${user.home}/.m2/settings.xml
) ist optional. Alle in den Benutzereinstellungen definierten Einstellungen haben Vorrang vor den entsprechenden globalen Einstellungen.
Sie können den Speicherort der globale und benutzerdefinierte Einstellungen über die Befehlszeile eingeben, setzt das folgende Beispiel die globalen Einstellungen auf c: \global\settings.xml und die Benutzereinstellungen auf c: \user\settings.xml :
mvn install --settings c:\user\settings.xml
--global-settings c:\global\settings.xml
Derzeit gibt es keine Eigenschaft oder Möglichkeit festzustellen, welche Benutzer- und globalen Einstellungsdateien von Maven verwendet wurden. Um auf diese Werte zuzugreifen, müssten Sie MavenCli und/oder DefaultMavenSettingsBuilder modifizieren, um die Dateispeicherorte in das aufgelöste Settings-Objekt zu injizieren.
Dies ist die Konfigurationsdatei für Maven. Sie kann auf zwei Ebenen angegeben werden:
-
Benutzerebene. Diese Datei settings.xml enthält die Konfiguration für einen einzelnen Benutzer, und wird normalerweise in ${user.home}/.m2/settings.xml bereitgestellt.
NOTE: This location can be overridden with the CLI option: -s /path/to/user/settings.xml
-
Globale Ebene. Diese settings.xml Datei stellt die Konfiguration für alle Maven Benutzer auf einer Maschine (unter der Annahme, dass sie alle die gleiche Maven Installation verwenden). Sie wird normalerweise bereitgestellt in ${maven.home}/conf/settings.xml.
NOTE: This location can be overridden with the CLI option: -gs /path/to/global/settings.xml
Les M2_HOME
Umgebungsvariable für die globale Variable. Siehe Einstellungen Referenz :
Les
settings
esettings.xml
f die verwendet werden, um Werte zu definieren, die die Maven-Ausführung auf verschiedene Weise konfigurieren, wie diepom.xml
, für ein bestimmtes Projekt gebündelt oder an ein Publikum verteilt werden. Diese umfassen Werte wie den lokalen Repository-Speicherort, alternative entfernte Repository-Server und Authentifizierungs Informationen. Es gibt zwei Orte wo eine settings.xml-Datei gespeichert werden kann:
- Die Maven-Installation:
$M2_HOME/conf/settings.xml
- Die Installation eines Benutzers:
${user.home}/.m2/settings.xml
- See previous answers
- Weitere Antworten anzeigen