如何使用Maven的命令行,以确定哪些settings.xml文件Maven是捡?
Answer 1:
与-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
...
(原来的目录名称是由我删除)
Answer 2:
您对克莱(正确)的答案评论意味着在涉及多种Maven的设置文件。
Maven的总是使用一个或两个设置文件。 在($ {M2_HOME} /conf/settings.xml)中定义的全局设置始终是必需的。 用户设置文件(在$ {的user.home} /定义。平方米/ settings.xml中)是可选的。 在用户设置中定义的任何设置优先于相应的全局设置。
你可以在命令行覆盖的全局和用户设置的位置,下面的例子将设置全局设置到c:\全球\的settings.xml和用户设置到c:\用户\ settings.xml中 :
mvn install --settings c:\user\settings.xml
--global-settings c:\global\settings.xml
目前还没有财产或手段,建立从与Maven使用了什么样的用户和全局设置文件。 要访问这些值,你就必须修改MavenCli和/或DefaultMavenSettingsBuilder到解决设置对象注入文件位置。
Answer 3:
您可以使用maven的帮助插件来告诉你,你的用户和全局设置文件的内容。
mvn help:effective-settings
会问行家吐出合并后的全球和用户设置 。
Answer 4:
这是Maven的配置文件。 它可以在两个层次上规定:
用户级别。 此settings.xml文件提供配置为单个用户,并且通常是在$ {的user.home}提供/。2 / settings.xml中。
NOTE: This location can be overridden with the CLI option: -s /path/to/user/settings.xml
全球水平。 这settings.xml文件提供了机上所有Maven用户(他们都使用相同的Maven安装假设)配置。 它通常在$ {} maven.home提供/conf/settings.xml。
NOTE: This location can be overridden with the CLI option: -gs /path/to/global/settings.xml
Answer 5:
该M2_HOME
全球一个环境变量。 请参见设置参考 :
该
settings
在元素settings.xml
文件包含用于定义配置Maven执行以各种方式,如值的元素pom.xml
,但不应该被捆绑任何具体项目,或分发给观众。 这些包括值,例如本地资源库的位置,备用远程存储库的服务器,以及认证信息。 有两个位置,其中一个settings.xml文件可住:
- Maven的安装:
$M2_HOME/conf/settings.xml
- 用户的安装:
${user.home}/.m2/settings.xml
Answer 6:
快速和肮脏的方法来确定Maven是使用所需的settings.xml将其无效XML和运行需要的settings.xml一些安全的Maven命令。
如果读取此的settings.xml然后Maven的报告错误:“错误阅读的settings.xml ......”
Answer 7:
如果你想知道你正在使用(除其他信息)行家的settings.xml文件的路径,命令行运行:
mvn --version