行家命令,以确定哪个settings.xml文件行家是使用(Maven command to det

2019-06-18 08:23发布

如何使用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的配置文件。 它可以在两个层次上规定:

  1. 用户级别。 此settings.xml文件提供配置为单个用户,并且通常是在$ {的user.home}提供/。2 / settings.xml中。

      NOTE: This location can be overridden with the CLI option: -s /path/to/user/settings.xml 
  2. 全球水平。 这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



文章来源: Maven command to determine which settings.xml file Maven is using