我如何找出哪个 setings.xml 文件 maven 正在使用

我最近更改了密码,必须更改 maven setings.xml 文件以反映这一点。然而,无论我在 setings.xml 文件中做什么,修改后的密码都不会被提取。出于绝望,我用 -s 开关(mvn -s <my intended settings.xml file>)运行了 maven,一切就开始工作了。这似乎表明,maven 在默认情况下使用的是“错误的”setings.xml

有没有一种方法可以让我找出 maven 使用的 settings.xml 文件的位置?

153294 次浏览

使用 Maven 调试选项,即 mvn -X:

Apache Maven 3.0.3 (r1075438; 2011-02-28 18:31:09+0100)
Maven home: /usr/java/apache-maven-3.0.3
Java version: 1.6.0_12, vendor: Sun Microsystems Inc.
Java home: /usr/java/jdk1.6.0_12/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-32-generic", arch: "i386", family: "unix"
[INFO] Error stacktraces are turned on.
[DEBUG] Reading global settings from /usr/java/apache-maven-3.0.3/conf/settings.xml
[DEBUG] Reading user settings from /home/myhome/.m2/settings.xml
...

在这个输出中,您可以看到 setings.xml 是从 /home/myhome/.m2/settings.xml加载的。

mvn help:effective-settings显示了当前环境的有效设置,包括 setings.xml 文件的位置。

此外,如果您使用环境变量,showPasswords=true还可以帮助您查看解析的密码。

mvn help:effective-settings -DshowPasswords=true

我已经浪费了很多时间与 -X 选项早些时候,这将帮助您快速解决您的麻烦。