我們有一位客戶,他運行Windows 7安裝,用戶配置文件存儲在Intranet上的Windows Server上(稱爲「終端服務器環境」或其他就像我認爲的...)。在Windows 7上使用網絡用戶配置文件的Java屬性「user.home」
現在我在Java中對這些「外部」用戶配置文件有一些問題。
我將一些設置存儲在用戶主文件夾的一個文件夾中(Windows:C:\Users\username\
,Mac:/Users/username/
)。由於該應用程序是跨平臺的,因此我不使用Jave中的Windows環境變量%USERPROFILE%
,而是使用本地Java屬性user.home
。
然而,這是什麼窗口CMD說了%USERPROFILE%
變量:
>echo %USERPROFILE%
C:\Users\vvw\
這是我得到的Java:
>System.getProperty("user.home")
C:\windows\system32\config\systemprofile\
爲什麼Java屬性user.home
默認這個陌生目錄?
什麼是最好的方式來得到正確的用戶家庭目錄在Java和Mac和Windows?
更新: 重新安裝Java並重新啓動幫助。但是,很高興知道這也被追蹤爲a bug in the Java Bug Database,這將在Java 8中修復。
看起來好像您的java.exe在系統帳戶下運行(例如作爲服務)。看看你的程序如何在該環境中運行。 – Durandal