2015-09-23 29 views
1

Maven中的系統屬性似乎存在問題。看起來系統屬性不對應於環境變量。Maven3 system.property user.home與環境變量主頁

的情況是,我想改變用戶特定settings.xml文件的絕對位置,Maven的文件說

如果你需要從頭開始創建用戶特定的設置,這是 最簡單的全局設置從Maven安裝複製到您的 $ {}的user.home /。平方米目錄

這意味着改變用戶特定文件的絕對位置的唯一方法是改變user.home p roperty。但是這似乎並不完全是HOMEHOMEPATH環境變量。實際上,我刪除了所有環境變量,如HOMEHOMEPATH,並使用mvn -X運行mvn,以查看mvn使用的用戶特定的settings.xml。結果如下(我在Windows 7和我運行CMD.EXE命令):

enter image description here

的Maven還發現一個user.home財產,不過,我也沒有設置這樣的環境變量。爲了驗證這一點,我運行set命令查看所有環境變量,但沒有發現任何有關由Maven使用的路徑d:\Userfiles\xili\作爲user.home系統屬性。順便說一句,這個路徑中沒有settings.xml文件,因爲我沒有在這個路徑中放置任何文件。

如何maven找出這樣的路徑user.home

回答

1

答案就在這裏!

http://www.timehat.com/javas-user-home-is-wrong-on-windows/

事實上,在視窗,JVM使用的PATH_TO_DESKTOP_FOLDER_AS_SET_IN_THE_REGISTRY作爲參考確定何在是user.home

user.home只是上述路徑的父文件夾。沒關係,這與HOMEHOMEPATH環境變量無關。

在Maven的源代碼中,應該有一些代碼,如System.getProperty('user.home')