如何使用maven命令行来确定maven正在拾取哪个settings.xml文件?


当前回答

如果您像我一样在调试和浪费时间,这将提供包括密码在内的详细信息。: P

mvn help:effective-settings -DshowPasswords=true

其他回答

全局变量的M2_HOME环境变量。参见设置参考:

The settings element in the settings.xml file contains elements used to define values which configure Maven execution in various ways, like the pom.xml, but should not be bundled to any specific project, or distributed to an audience. These include values such as the local repository location, alternate remote repository servers, and authentication information. There are two locations where a settings.xml file may live: The Maven install: $M2_HOME/conf/settings.xml A user's install: ${user.home}/.m2/settings.xml

使用-X选项启动maven(调试)并检查输出的开头。应该是这样的:

...
[INFO] Error stacktraces are turned on.
[DEBUG] Reading global settings from c:\....\apache-maven-3.0.3\conf\settings.xml
[DEBUG] Reading user settings from c:\....\.m2\settings.xml
[DEBUG] Using local repository at C:\....\repository
...

(原来的目录名称被我删除了)

您可以使用maven帮助插件来告诉您用户和全局设置文件的内容。

mvn help:effective-settings

将要求maven吐出组合的全局和用户设置。

确定Maven是否正在使用所需的settings.xml的快速且肮脏的方法将使其xml无效,并运行一些需要settings.xml的安全Maven命令。

如果它读取了settings.xml,那么Maven会报告一个错误:“读取settings.xml时出错…”

如果您像我一样在调试和浪费时间,这将提供包括密码在内的详细信息。: P

mvn help:effective-settings -DshowPasswords=true