问题 在部署期间覆盖maven发布存储库


我正在开发一个开源库,并希望将发布内容发送到内部工件服务器。我一直在使用maven's distributionManagement 并压倒一切 altDeploymentRepository 指向内部服务器(因此它永远不会在pom中)。我这样做很好 deploy:deploy 但是当我使用maven release插件时,这似乎被忽略了。

mvn clean -DaltDeploymentRepository=central::default::internalhost deploy ## works
mvn clean -DaltDeploymentRepository=central::default::internalhost release:perform ## fails, doesn't pick up this setting

当发布插件运行部署时,如何通过命令行覆盖存储库?


3685
2017-10-31 17:52


起源

你不能编辑POM来重新定义分发管理信息吗? - Duncan Jones
尝试这个 mvn release:perform -Darguments=-DaltDeploymentRepository=myvalue。 - yorkw
谢谢@yorkw,这完美无缺! - ekaqu
@yorkw您应该将此作为完整答案发布,因为它是正确答案。 - metasim


答案:


使用

altReleaseDeploymentRepository

它具有与altDeploymentRepository相同的语法

更多内容: https://maven.apache.org/plugins/maven-deploy-plugin/deploy-mojo.html


7
2017-08-12 00:46





mvn release:perform -Darguments = -DaltDeploymentRepository = myvalue

诀窍是:'-Dargument'

有效的解决方案是 yorkw 评论(对于版本2.7中的maven-deploy-plugin) 当您使用更高版本的maven-deploy-plugin(例如2.8)时,请使用参数 altReleaseDeploymentRepository。

maven-deploy-plugin doc


4
2018-04-06 11:17





在您正在处理的版本上,您应该编辑pom以更改分发管理部分以使用您的内部存储库。


-1
2017-10-31 19:20