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

100

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

Джонни-Би-Гуд
источник
2
Как указано в stackoverflow.com/a/840229/3159183 , имейте в виду, что -Duser.dirфлаг влияет на Fileобъекты (если им не указан полный путь), но не на FileOutPutStreamобъекты. Если вы хотите, чтобы каталог по умолчанию соответствовал обоим, вам следует cdперед запуском Java.
SeldomNeedy

Ответы:

142

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

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

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

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

паук виски
источник
Исправлено. Как насчет user.dir?
johnny-b-goode
3
Уже прочитал перед публикацией. Но «Рабочий каталог пользователя» - не лучшее объяснение, надеюсь, вы согласны.
johnny-b-goode
Означает ли это, что в конфигурации tomcat для всех версий java, если user.dirуказывает на /usr/share/tomcatи в config, мы добавляем что-то вроде этого: file:./configтогда он будет указывать /usr/share/tomcat/configвсегда?
Марчин Капуста
8

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

Евгений Дорофеев
источник
Значение необходимо только во время выполнения теста junit системой maven.
johnny-b-goode
2
и когда вы меняете его на MAC, он ломает такие вещи, как этот тест stackoverflow.com/questions/45130661/… :( :(
Дин Хиллер
3

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


источник