Java Eigenschaft "user.dir" - was genau bedeutet das?
Möchte ich user.dir
dir als Basis dir für meine unit-tests (erstellt eine Menge von Dateien). Ist es richtig, dass diese Eigenschaft verweist auf das aktuelle Arbeitsverzeichnis (z.B. durch das 'cd' Kommando)?
InformationsquelleAutor der Frage johnny-b-goode | 2013-04-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist das Verzeichnis, wo
java
ausgeführt wurde, wo Sie angefangen die JVM. Nicht im home-Verzeichnis des Benutzers. Es kann überall sein, wo der Benutzer hat die Berechtigung zum ausführen von java.Also, wenn Sie
cd
in/somedir
dann läuft dein Programmuser.dir
wird/somedir
.Einer anderen Eigenschaft,
user.home
bezieht sich auf das user-Verzeichnis. Wie in/Users/myuser
oder/home/myuser
oderC:\Users\myuser
.Sehen hier für eine Liste der system-Eigenschaften und Ihre Beschreibungen.
InformationsquelleAutor der Antwort whiskeyspider
user.dir
ist die "User working directory" gemäß der Java Tutorial-System EigenschaftenInformationsquelleAutor der Antwort Mark Rotteveel
In der Regel ist dies das Verzeichnis, in dem Ihre app (java) gestartet wurde (working dir). "In der Regel", denn es kann geändert werden, z.B. wenn Sie eine app mit
Runtime.exec(String[] cmdarray, String[] envp, File dir)
InformationsquelleAutor der Antwort Evgeniy Dorofeev
System.getProperty("user.dir")
holt sich das Verzeichnis oder der Pfad des Arbeitsbereichs für das aktuelle ProjektInformationsquelleAutor der Antwort