【问题标题】:Where does Maven look for the local settings.xml file?Maven 在哪里寻找本地的 settings.xml 文件?
【发布时间】:2016-11-08 20:49:53
【问题描述】:

我一直在努力了解 Maven(版本 3.1.1)在 Windows 7 上查找本地 settings.xml 文件的位置。有人可以解释一下 Maven 在执行什么 mvn 命令期间记录以下行时在做什么使用 -X 开关?

[DEBUG] Reading user settings from ???

是否检查环境变量来构造路径?如果有,是哪一个?我问这个是因为我很惊讶它正在检查路径

\\computername\userName\.m2\settings.xml  

而不是我的 C 盘上的预期位置,即

C:\Users\userName\.m2\settings.xml

【问题讨论】:

  • @Tunaki 该文档是我查看的第一个地方,表明它应该查看 ${user.home},在 Windows 7 上应该是 %UserProfile%。当我回显该系统变量时,它会显示 C 驱动器上的预期路径。由于该路径不是 Maven 使用的路径,因此该文档对回答这个问题没有帮助。这就是为什么我要求进一步澄清 SO。
  • 那么这不是 Maven 问题,它严格依赖于 ${user.home},这就是它的外观,而是 Java 问题,或者您的 PC 上出现问题,可能是注册表,请参阅 thisthis
  • echo %user.home% 显示正确的预期路径,这不是 Maven 使用的路径
  • user.home 是 Java 设置的系统属性,由 System.getProperties() 返回。它不是通过环境变量在操作系统上设置的。 Windows 命令行上的echo %user.home% 没有理由返回除%user.home% 之外的其他内容,它确实如此,但无论如何都不会考虑它。

标签: maven


【解决方案1】:

正如 Tunaki 所指出的,Maven 使用 Java 系统属性 ${user.home},它并不总是解析为我们可能期望的路径。

要强制 ${user.home} 成为不同的路径,我必须添加环境变量“_JAVA_OPTIONS”并为其赋予值“-Duser.home=%UserProfile%”,这是我认为的路径应该一直在看。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-16
    • 2011-04-17
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多