如何使用maven命令行来确定maven正在拾取哪个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是否正在使用所需的settings.xml的快速且肮脏的方法将使其xml无效,并运行一些需要settings.xml的安全Maven命令。
如果它读取了settings.xml,那么Maven会报告一个错误:“读取settings.xml时出错…”
您可以使用maven帮助插件来告诉您用户和全局设置文件的内容。
mvn help:effective-settings
将要求maven吐出组合的全局和用户设置。
使用-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的配置文件。它可以在两个级别上指定:
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
您对cletus(正确)回答的评论暗示涉及多个Maven设置文件。
Maven总是使用一个或两个设置文件。(${M2_HOME}/conf/settings.xml)中定义的全局设置始终是必需的。用户设置文件(定义在${user.home}/.m2/settings.xml中)是可选的。在用户设置中定义的任何设置优先于相应的全局设置。
你可以从命令行覆盖全局和用户设置的位置,下面的例子将全局设置设置为c:\global\settings.xml,用户设置为c:\user\settings.xml:
mvn install --settings c:\user\settings.xml
--global-settings c:\global\settings.xml
目前还没有属性或方法来确定Maven使用了哪些用户和全局设置文件。要访问这些值,您必须修改MavenCli和/或DefaultMavenSettingsBuilder以将文件位置注入解析的Settings对象。
推荐文章
- 如何从终端/命令行调用VS代码编辑器
- 在Jar文件中运行类
- 如何在Windows命令提示符下运行.sh ?
- Maven检查存储库中更新的依赖项
- 如何从命令行通过mysql运行一个查询?
- 如何从命令行在windows中找到mysql数据目录
- 如何从命令行安装cygwin组件?
- 如何更改Git日志日期格式
- 我如何告诉Spring Boot哪个主类用于可执行jar?
- 什么是maven中的“pom”打包?
- 使iTerm以与其他操作系统相同的方式翻译“元键”
- 如何设置我的phpmyadmin用户会话不超时这么快?
- 在maven中安装mvn到底做什么
- Gradle替代mvn安装
- 如何合并2 JSON对象从2个文件使用jq?