Свойство Java "user.dir" - что именно это означает?
Я хочу использовать user.dir
dir в качестве базового dir для моих модульных тестов (которые создают много файлов). Правильно ли, что это свойство указывает на текущий рабочий каталог (например, установленный командой 'cd')?
4 ответа
Это каталог, где java
был запущен, откуда вы начали JVM. Не должен быть в домашнем каталоге пользователя. Это может быть где угодно, где у пользователя есть разрешение на запуск Java.
Так что если вы cd
в /somedir
затем запустите вашу программу, user.dir
будет /somedir
,
Другая собственность, user.home
, ссылается на каталог пользователя. Как в /Users/myuser
или же /home/myuser
или же C:\Users\myuser
,
Смотрите здесь список системных свойств и их описания.
user.dir
является "Рабочим каталогом пользователя" в соответствии с Java Tutorial, System Properties
Обычно это каталог, в котором было запущено ваше приложение (java) (рабочий каталог). "Обычно", потому что его можно изменить, например, когда вы запускаете приложение с Runtime.exec(String[] cmdarray, String[] envp, File dir)
System.getProperty("user.dir")
извлекает каталог или путь к рабочей области для текущего проекта