Свойство Java "user.dir" - что именно это означает?

Я хочу использовать user.dir dir в качестве базового каталога для моих модульных тестов (что создает много файлов). Правильно ли это свойство указывает на текущий рабочий каталог (например, задан командой 'cd')?

Ответ 1

Это каталог, в котором был запущен java, где вы запустили JVM. Не обязательно находиться в домашнем каталоге пользователя. Это может быть где угодно, где у пользователя есть разрешение на запуск java.

Итак, если вы cd в /somedir, тогда запустите свою программу, user.dir будет /somedir.

Другое свойство user.home относится к каталогу пользователя. Как и в /Users/myuser или /home/myuser или C:\Users\myuser.

См. здесь для списка свойств системы и их описаний.

Ответ 3

Обычно это каталог, в котором было запущено ваше приложение (java) (рабочий каталог). "Обычно", потому что его можно изменить, например, при запуске приложения с Runtime.exec(String[] cmdarray, String[] envp, File dir)

Ответ 4

System.getProperty("user.dir") выбирает каталог или путь рабочей области для текущего проекта