Voglio usare user.dirdir come directory di base per i miei unit test (che crea molti file). È corretto che questa proprietà punti alla directory di lavoro corrente (es. Impostata dal comando "cd")?
Voglio usare user.dirdir come directory di base per i miei unit test (che crea molti file). È corretto che questa proprietà punti alla directory di lavoro corrente (es. Impostata dal comando "cd")?
Risposte:
È la directory da cui è javastato eseguito, da cui è stata avviata la JVM. Non deve essere nella directory home dell'utente. Può essere ovunque l'utente abbia il permesso di eseguire java.
Quindi, se cdentri /somedir, esegui il tuo programma, user.dirsarà /somedir.
Una proprietà diversa,, si user.homeriferisce alla directory dell'utente. Come in /Users/myusero /home/myusero C:\Users\myuser.
Vedi qui per un elenco delle proprietà di sistema e le loro descrizioni.
user.dirpunta a /usr/share/tomcate in config aggiungiamo qualcosa del genere: file:./configquindi punterà /usr/share/tomcat/configsempre a?
user.dirè la "directory di lavoro dell'utente" secondo il Tutorial Java, Proprietà del sistema
In genere questa è la directory in cui è stata avviata la tua app (java) (directory di lavoro). "Tipicamente" perché può essere modificato, ad esempio quando esegui un'app conRuntime.exec(String[] cmdarray, String[] envp, File dir)
System.getProperty("user.dir") recupera la directory o il percorso dell'area di lavoro per il progetto corrente
-Duser.dirflag influisce sugliFileoggetti (se non viene fornito un percorso completo) ma non sugliFileOutPutStreamoggetti. Se vuoi assicurarti che la directory predefinita corrisponda per entrambi, dovresticdprima di avviare Java.