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


当前回答

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

mvn help:effective-settings -DshowPasswords=true

其他回答

使用-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是否正在使用所需的settings.xml的快速且肮脏的方法将使其xml无效,并运行一些需要settings.xml的安全Maven命令。

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

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

mvn help:effective-settings -DshowPasswords=true

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

mvn help:effective-settings

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

这是Maven的配置文件。它可以在两个级别上指定:

User Level. This settings.xml file provides configuration for a single user, and is normally provided in ${user.home}/.m2/settings.xml. NOTE: This location can be overridden with the CLI option: -s /path/to/user/settings.xml Global Level. This settings.xml file provides configuration for all Maven users on a machine (assuming they're all using the same Maven installation). It's normally provided in ${maven.home}/conf/settings.xml. NOTE: This location can be overridden with the CLI option: -gs /path/to/global/settings.xml