maven release插件部署目标不使用custom settings.xml值

maven release插件部署目标不使用custom settings.xml值,maven,maven-release-plugin,maven-deploy-plugin,Maven,Maven Release Plugin,Maven Deploy Plugin,我想我发现了maven目标“部署”到maven发布插件执行中的一个奇怪问题 当我使用“-s”或“-gs”选项构建带有自定义设置(maven settings.xml)的发行版时,内部目标“deploy”不使用自定义设置(似乎使用$M2\u HOME/conf/settings.xml)。是虫子还是我做错了什么? 我试过: mvn发布:准备发布:perform-s/opt/maven-3.0.4/conf/settings.xml mvn发布:准备发布:执行-Darguments=“-s/opt

我想我发现了maven目标“部署”到maven发布插件执行中的一个奇怪问题

当我使用“-s”或“-gs”选项构建带有自定义设置(maven settings.xml)的发行版时,内部目标“deploy”不使用自定义设置(似乎使用
$M2\u HOME/conf/settings.xml
)。是虫子还是我做错了什么? 我试过:

  • mvn发布:准备发布:perform-s/opt/maven-3.0.4/conf/settings.xml
  • mvn发布:准备发布:执行-Darguments=“-s/opt/maven-3.0.4/conf/settings.xml”
  • mvn-DmavenHome=/opt/maven-3.0.4/发布:准备发布:执行
什么都不管用

调试:

[DEBUG] Using ${maven.home} of: '/opt/maven-3.0.4'.
[DEBUG] Executing: /bin/sh -c cd /opt/jenkins/jobs/.../workspace && /opt/maven-3.0.4/bin/mvn -B -X -D maven.repo.local=/home/jenkins/.m2/repository -s /tmp/release-settings1555783726504175186.xml -D maven.test.skip=true clean install
[INFO] Apache Maven 3.0.4 (r1232337; 2012-01-17 09:44:56+0100)
[INFO] Maven home: /opt/maven-3.0.4-old
...
[INFO] [DEBUG] Reading global settings from /opt/maven-3.0.4-old/conf/settings.xml
[INFO] [DEBUG] Reading user settings from /tmp/release-settings1555783726504175186.xml

第一行
-s/opt/…
应该可以工作。除了其他参数外,尝试使用
-X
运行
mvn
,以获得调试输出。这应该告诉你Maven读哪些文件以及为什么。过滤输出中的
$M2_HOME/conf/settings.xml
以查看它的读取时间和频率。正如您在调试模式中看到的,它读取的是
Maven HOME:/opt/Maven-3.0.4-old
(注意de-old),而不是使用“/opt/Maven-3.0.4”的
${Maven.HOME};你能试一下更新版本的Maven吗?我认为这不是Maven版本的问题,而是Maven发布插件的问题,因为插件启动了一个新的shell
正在执行:/bin/sh-c…
,似乎导致了这个问题。因为
-s
只更改用户设置文件,通常是
$HOME/.m2/settings.xml
。您还需要指定
-gs
来更改全局/默认设置文件。部署插件可能没有传递此选项。