Свойство 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") извлекает каталог или путь к рабочей области для текущего проекта

Другие вопросы по тегам