383 Stimmen

Maven-Befehl, um festzustellen, welche settings.xml-Datei Maven verwendet

Wie verwende ich die Maven-Kommandozeile, um festzustellen, welche settings.xml-Datei Maven aufgreift?

445voto

elek Punkte 4266

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)

207voto

serg10 Punkte 30302

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 .

194voto

Rich Seller Punkte 81404

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.

45voto

firstthumb Punkte 4427

Dies ist die Konfigurationsdatei für Maven. Sie kann auf zwei Ebenen angegeben werden:

  1. 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
  2. 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

31voto

cletus Punkte 596503

Les M2_HOME Umgebungsvariable für die globale Variable. Siehe Einstellungen Referenz :

Les settings e settings.xml f die verwendet werden, um Werte zu definieren, die die Maven-Ausführung auf verschiedene Weise konfigurieren, wie die pom.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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X