Frage

Wie kann ich Maven Befehlszeile verwenden, um festzustellen, welche settings.xml Maven zieht an?

War es hilfreich?

Lösung

Starten Sie Maven mit Option -X (debug) und den Beginn der Ausgabe untersuchen. Es sollte wie folgt sein:

...
[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
...

(Original Verzeichnisnamen werden von mir entfernt)

Andere Tipps

Ihr Beitrag zu cletus' (korrekte) Antwort impliziert, dass es mehrere Maven Einstellungen Dateien beteiligt sind.

Maven immer verwendet entweder eine oder zwei Einstellungsdateien. Die globalen Einstellungen definiert in ($ {} M2_HOME /conf/settings.xml) ist immer erforderlich. Die Benutzereinstellungsdatei (definiert in $ {user.home} /. M2 / settings.xml) ist optional. Alle Einstellungen, definiert in den Benutzereinstellungen haben Vorrang vor den entsprechenden globalen Einstellungen.

Sie können die Lage der globalen und Benutzereinstellungen über die Befehlszeile außer Kraft setzen, wird 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

Zur Zeit gibt es keine Eigenschaft oder Mittel festzustellen, welche Benutzer und globale Einstellungen Dateien aus mit Maven verwendet wurden. Um diese Werte zugreifen, würden Sie ändern müssen MavenCli und / oder DefaultMavenSettingsBuilder die Dateipfade zu injizieren in die aufgelösten Einstellungen widersprechen.

Sie können das Maven Hilfe Plugin Sie den Inhalt sagen, Ihre Benutzer und globale Einstellungsdateien.

mvn help:effective-settings

wird Maven fragen Sie die kombiniert globalen und Benutzereinstellungen auszuspucken .

Dies ist die Konfigurationsdatei für Maven. Es kann auf zwei Ebenen festgelegt werden:

  1. Benutzerebene. Diese settings.xml bietet Konfiguration für einen einzelnen Benutzer,               und wird normalerweise in $ zur Verfügung gestellt {user.home} /. m2 / settings.xml.

              NOTE: This location can be overridden with the CLI option:
    
              -s /path/to/user/settings.xml
    
  2. globale Ebene. Diese settings.xml bietet Konfiguration für alle Maven               Benutzer auf einer Maschine (vorausgesetzt, sie alle mit dem gleichen Maven sind               Installation). Es ist normalerweise vorgesehen in               $ {} Maven.home /conf/settings.xml.

              NOTE: This location can be overridden with the CLI option:
    
              -gs /path/to/global/settings.xml
    

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

  

Das settings Element in der   settings.xml Datei enthält Elemente   verwendet, um Werte zu definieren, die zu konfigurieren   Maven Ausführung auf verschiedene Weise, wie   die pom.xml, sollte aber nicht sein   gebündelt zu einem bestimmten Projekt oder   an ein Publikum verteilt. Diese   sind Werte wie die lokale   Repositoryposition, alternativer Fern   Repository-Server und Authentifizierung   Information. Es gibt zwei Standorte   wo eine settings.xml leben kann:

     
      
  • Die Maven installieren: $M2_HOME/conf/settings.xml
  •   
  • ein Benutzer installieren: ${user.home}/.m2/settings.xml
  •   

Schnelle und schmutzige Methode, um festzustellen, ob Maven gewünscht settings.xml verwenden würde seine xml ungültig machen und eine sichere Maven Befehl ausführen, die settings.xml erfordert.

Wenn es liest diese settings.xml dann Maven meldet einen Fehler: "Fehler beim Lesen der settings.xml ..."

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top