【问题标题】:Maven3 system.property user.home vs environment variable HOMEMaven3 system.property user.home vs 环境变量 HOME
【发布时间】:2015-09-23 21:17:15
【问题描述】:

Maven 中的系统属性似乎有问题。似乎系统属性与环境变量不对应。

情况是我想改变用户特定settings.xml文件的绝对位置,正如Maven文档所说的那样

如果您需要从头开始创建特定于用户的设置,那么 最容易将全局设置从 Maven 安装复制到 你的 ${user.home}/.m2 目录

这意味着更改用户特定文件的绝对位置的唯一方法是更改​​user.home 属性。但似乎这不完全是 HOMEHOMEPATH 环境变量。其实我把HOMEHOMEPATH等所有环境变量都删掉了,用mvn -X运行mvn就是为了看到mvn使用的用户特定的settings.xml。结果如下(我在 Windows 7 中,我在 cmd.exe 中运行命令):

Maven 仍然找到user.home 属性,但是,我还没有设置这样的环境变量。为了验证这一点,我然后运行set 命令来查看所有环境变量,但找不到任何关于 Maven 用作user.home 系统属性的路径d:\Userfiles\xili\。顺便说一句,这个路径下没有settings.xml文件,因为我没有在这个路径下放任何文件。

maven 是如何找出像user.home 这样的路径的?

【问题讨论】:

    标签: maven environment-variables system-properties


    【解决方案1】:

    答案就在这里!

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

    事实上,在 Windows 中,JVM 使用 PATH_TO_DESKTOP_FOLDER_AS_SET_IN_THE_REGISTRY 作为 reference 来确定 user.home 的位置。

    user.home 只是上述路径的父文件夹。不是这样,这与HOMEHOMEPATH 环境变量无关。

    在Maven的源码中,应该有System.getProperty('user.home')这样的代码。

    【讨论】:

      猜你喜欢
      • 2011-04-01
      • 1970-01-01
      • 2018-01-23
      • 1970-01-01
      • 2020-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多