用于确定 Maven 正在使用哪个 settings.xml 文件的 Maven 命令
-
12-09-2019 - |
题
如何使用 Maven 命令行来确定 Maven 正在选取哪个 settings.xml 文件?
解决方案
启动与-X选项(调试)行家并检查输出的开始。应该是这样的:
...
[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的设置文件。
的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到解析设置对象注入文件位置。
这是 Maven 的配置文件。它可以在两个级别上指定:
用户级别。此settings.xml文件为单个用户提供配置,通常以$ {user.home}/。m2/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
这 M2_HOME
全局环境变量。看 设置参考:
这
settings
中的元素settings.xml
文件包含元素 用于定义配置 以各种方式执行 Maven,例如 的pom.xml
, 但不应 捆绑到任何特定项目,或 分发给观众。这些 包括诸如本地 存储库位置、备用远程 存储库服务器和认证 信息。有两个地点 设置.xml 文件的位置:
- Maven 安装:
$M2_HOME/conf/settings.xml
- 用户的安装:
${user.home}/.m2/settings.xml
快捷粗略的方法来确定是否Maven的是使用所需的settings.xml将其无效xml和运行需要的settings.xml一些安全行家命令。
如果它读这个的settings.xml然后Maven的报告错误: “读取错误的settings.xml ......”的