2016-11-08 2 views
-1

Ich habe gekämpft zu verstehen, wo Maven (Version 3.1.1) für die lokale settings.xml-Datei auf Windows 7 sucht. Kann jemand bitte erklären, was Maven tut, wie es die folgenden Zeilen während der Ausführung eines Befehls mvn mit protokolliert der Schalter -X?Wo sucht Maven nach der lokalen Datei settings.xml?

[DEBUG] Reading user settings from ??? 

Prüft eine Umgebungsvariable den Pfad? Wenn ja, welcher? Ich frage das, weil ich sehr überrascht war zu sehen, dass es den Weg auf meinem Laufwerk C

\\computername\userName\.m2\settings.xml 

statt der erwarteten Lage prüft, die

C:\Users\userName\.m2\settings.xml 
+0

https://maven.apache.org/settings.html – Tunaki

+0

@Tunaki Die Dokumentation, die ich zuerst angeschaut habe, zeigt an, dass es sich um $ {user.home} handeln sollte, was unter Windows 7 sein sollte %Benutzerprofil%. Wenn ich diese Systemvariable zurückmelde, wird der erwartete Pfad auf dem C-Laufwerk angezeigt. Da dieser Pfad nicht der Pfad ist, den Maven benutzt, ist diese Dokumentation nicht hilfreich bei der Beantwortung dieser Frage. Deshalb bitte ich um weitere Erläuterungen zu SO. – JellyRaptor

+0

Dann ist dies kein Problem Maven, es hängt ausschließlich von $ {user.home} 'und das ist, wo es aussieht, aber ein Java-Problem, oder etwas ist falsch auf Ihrem PC, möglicherweise Registrierung, siehe [this] (http : //stackoverflow.com/questions/2134338/java-user-home-is-being-set-to-userprofile-and-not-being-resolved) und [dies] (http://stackoverflow.com/questions/ 16889940/on-windows-7-wie-tut-java-jvm-set-user-home-system-eigenschaft). – Tunaki

Antwort

0

ist als Tunaki aus hat darauf, Maven verwendet die Java-Systemeigenschaft $ {user.home}, die nicht immer den Pfad auflöst, den wir erwarten könnten.

Um $ {user.home} zu einem anderen Pfad zu zwingen, musste ich die Umgebungsvariable "_JAVA_OPTIONS" hinzufügen und ihm den Wert "-Duser.home =% UserProfile%" geben, was der Pfad ist, den ich dachte Es hätte die ganze Zeit nachschauen sollen.

Verwandte Themen