user.dirDir'i birim testlerim için temel dizin olarak kullanmak istiyorum (bu çok fazla dosya oluşturur). Bu özelliğin geçerli çalışma dizinini göstermesi doğru mu (örneğin, 'cd' komutuyla ayarlanmış)?
user.dirDir'i birim testlerim için temel dizin olarak kullanmak istiyorum (bu çok fazla dosya oluşturur). Bu özelliğin geçerli çalışma dizinini göstermesi doğru mu (örneğin, 'cd' komutuyla ayarlanmış)?
Yanıtlar:
Bu java, JVM'yi başlattığınız, çalıştırdığınız dizindir . Kullanıcının ana dizini içinde olması gerekmez. Kullanıcının java çalıştırma iznine sahip olduğu herhangi bir yerde olabilir.
Yani eğer cdiçine girerseniz /somedir, programınızı çalıştırın, user.dirolacaktır /somedir.
Farklı bir özellik, user.homekullanıcı dizinini ifade eder. Olduğu gibi /Users/myuserya /home/myuserya C:\Users\myuser.
Sistem özelliklerinin bir listesi ve açıklamaları için buraya bakın .
user.dirişaret ediyor /usr/share/tomcatve bunu ekliyoruz demektir: file:./configo /usr/share/tomcat/configzaman her zaman işaret edecek mi?
user.dirJava Eğitimi, Sistem Özellikleri'ne göre "Kullanıcı çalışma dizini" dir
Tipik olarak bu, uygulamanızın (java) başlatıldığı dizindir (çalışma dizini). "Tipik olarak" değiştirilebileceği için, örneğin bir uygulamayı birlikte çalıştırdığınızdaRuntime.exec(String[] cmdarray, String[] envp, File dir)
System.getProperty("user.dir") mevcut proje için çalışma alanının dizinini veya yolunu getirir
pwdkomuttan aldığınız gibi mevcut çalışma dizinini alır, ancak örneğin mvn -f /path/to/project, maven ile cd /path/to/projectçalıştırırsanız, testleri çalıştırmadan önce dahili olarak etkin bir şekilde çalışacak gibi görünür .
-Duser.dirbayrağınFilenesneleri etkilediğini (onlara tam yol verilmemişse) ancakFileOutPutStreamnesneleri etkilemediğini unutmayın . Varsayılan dizinin her ikisi için de eşleştiğinden emin olmak istiyorsanız,cdJava'yı başlatmadan önce yapmalısınız.