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

Posted

技术标签:

【中文标题】如何找出 maven 正在使用哪个 settings.xml 文件【英文标题】:How do I find out which settings.xml file maven is using 【发布时间】:2012-04-16 20:15:59 【问题描述】:

我最近更改了密码,并且必须更改我的 maven settings.xml 文件以反映这一点。但是,无论我在 settings.xml 文件中做什么,更改的密码都不会被拾取。出于绝望,我用 -s 开关 (mvn -s <my intended settings.xml file>) 运行了 maven,一切都刚刚开始工作。似乎暗示 Maven 默认使用的是“错误”的 settings.xml

有没有办法让我找出 maven 使用的 settings.xml 文件的位置?

【问题讨论】:

复制***.com/questions/1261215/… 实际上,另一个问题没有我需要的答案。 nico_ekito 提供了我需要的答案。 【参考方案1】:

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

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

mvn help:effective-settings -DshowPasswords=true

我之前在 -X 选项上浪费了很多时间,这将帮助您快速解决问题。

【讨论】:

【参考方案2】:

使用 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
...

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

【讨论】:

我知道这是一篇旧帖子,但我需要一些指导。我在我的系统上运行了 mvn -X,但在任何地方都没有看到 settings.xml。我看到的输出显示 Maven 版本 2.2.1 以及 plugin-registry.xml 中的用户和全局级插件注册表文件。为什么我没有显示 settings.xml 以及如何显示它? @Elijah 你应该问自己的问题。在您的新问题中引用此问题。 非常有帮助。我试图在MAVEN_OPTS 中指定“用户设置”,不幸的是这个节目不起作用。

以上是关于如何找出 maven 正在使用哪个 settings.xml 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Intellij Idea 中找出未使用的依赖项 Maven

如何找出哪个弹簧组件不兼容?

Maven settings.xml 文件属于哪个文件夹?

如何找出哪个进程正在侦听 Windows 上的 TCP 或 UDP 端口?

如何找出哪个进程正在侦听 Windows 上的 TCP 或 UDP 端口?

如何找出 nodejs 版本支持哪个版本的 angular-cli?