Maven中的系统属性似乎存在问题。系统属性似乎与环境变量不对应。
情况是我希望更改用户特定settings.xml
文件的绝对位置,如Maven文档所述
如果您需要从头开始创建用户特定的设置,那就是 最简单的方法是将Maven安装中的全局设置复制到 你的$ {user.home} /。m2目录
这意味着更改用户特定文件的绝对位置的唯一方法是更改user.home
属性。但似乎这不是HOME
或HOMEPATH
环境变量。实际上,我删除了所有环境变量,例如HOME
和HOMEPATH
,并使用mvn -X
运行mvn只是为了查看mvn使用的特定于用户的settings.xml
。结果如下(我在Windows 7中,我在cmd.exe中运行命令):
Maven仍然找到user.home
属性,但是,我没有设置这样的环境变量。为了验证这一点,我然后运行set
命令来查看所有环境变量,但没有找到Maven用作d:\Userfiles\xili\
系统属性的路径user.home
。顺便说一句,此路径中没有settings.xml文件,因为我没有在此路径中放置任何文件。
maven如何找出user.home
这样的路径?
答案 0 :(得分:1)
答案就在这里!
http://www.timehat.com/javas-user-home-is-wrong-on-windows/
事实上,在 Windows 中,JVM使用 PATH_TO_DESKTOP_FOLDER_AS_SET_IN_THE_REGISTRY 作为参考来确定是user.home
。< / p>
user.home
只是上述路径的父文件夹。不,这与HOME
或HOMEPATH
环境变量无关。
在Maven的源代码中,应该有一些代码,如System.getProperty('user.home')
。