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