Я хочу використовувати user.dirdir як базовий dir для моїх тестових одиниць (це створює багато файлів). Чи правильно це властивість вказувати на поточний робочий каталог (наприклад, встановлений командою 'cd')?
Я хочу використовувати user.dirdir як базовий 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) (робочий dir). "Зазвичай", оскільки його можна змінити, наприклад, коли ви запускаєте додатокRuntime.exec(String[] cmdarray, String[] envp, File dir)
System.getProperty("user.dir") вибирає каталог або шлях робочої області для поточного проекту
-Duser.dirпрапор впливає наFileоб’єкти (якщо їм не надано повний шлях), але неFileOutPutStreamоб’єкти. Якщо ви хочете забезпечити відповідність каталогу за замовчуванням для обох, вам слідcdперед запуском Java.