Maven中的系统属性似乎有问题。系统属性似乎与环境变量不相对应。
情况是,如Maven文档所述,我希望更改特定于用户的settings.xml
文件的绝对位置。
如果需要从头创建特定于用户的设置,则最容易将全局设置从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
这样的路径的
发布于 2015-09-24 06:30:28
答案就在这里!
http://www.timehat.com/javas-user-home-is-wrong-on-windows/
实际上,在PATH_TO_DESKTOP_FOLDER_AS_SET_IN_THE_REGISTRY中,JVM使用作为引用来确定user.home
在哪里。
user.home
只是上面路径的父文件夹。这与HOME
或HOMEPATH
环境变量无关。
在Maven的源代码中,应该有一些类似于System.getProperty('user.home')
的代码。
https://stackoverflow.com/questions/32749644
复制