【问题标题】:Unexplained Maven Release Plugin behaviour无法解释的 Maven 发布插件行为
【发布时间】:2014-12-18 02:52:51
【问题描述】:

我正在尝试在我们的项目发布过程中使用 maven-release-plugin。起初我尝试执行部署,但不是 release 存储库 maven 将工件上传到 snapshot 存储库并且不推送到 SCM:

Uploading: http://192.168.59.103:8081/nexus/content/repositories/snapshots/...../1.15.0-SNAPSHOT/azkabanflow-distribution-1.15.0-20141022.145508-1-sources.jar

然后,我添加了下一行:

 <plugin>
    <artifactId>maven-release-plugin</artifactId>
       <version>2.5.1</version>
       <dependencies>
         <dependency>
           <groupId>org.apache.maven.scm</groupId>
           <artifactId>maven-scm-provider-gitexe</artifactId>
             <version>1.8.1</version>
         </dependency>
       </dependencies>
 </plugin>

现在,它可以很好地上传到适当的存储库并推送到 SCM。是什么原因,有什么办法可以避免吗?

我运行这个脚本:

git checkout -b release-${RELEASE_VERSION}
mvn -s ~/.m2/settings.xml.bac release:prepare -DautoVersionSubmodules=true -DdevelopmentVersion=${RELEASE_VERSION}.1-SNAPSHOT -DpushChanges=true -DreleaseVersion=${RELEASE_VERSION}.0 -Dtag=v${RELEASE_VERSION}.0
mvn -s ~/.m2/settings.xml.bac release:perform

【问题讨论】:

    标签: git maven nexus maven-release-plugin


    【解决方案1】:

    看起来像https://jira.codehaus.org/browse/MRELEASE-812,但是,它应该已经在 2.5 中修复。请注意,Maven Release Plugin 2.5.x 版本首先是与 Git 相关的版本,如果我没记错的话,它是由支持 Git 1.8+ 的要求开始的。如果您只是将 maven-scm-provider-gitexe 更改为早期版本,请查看 https://jira.codehaus.org/browse/SCM/component/12667#selectedTab=com.atlassian.jira.plugin.system.project%3Acomponent-changelog-panel,也许您可​​以帮助我们找出问题并为社区修复。

    【讨论】:

    • 感谢您通知 1.8+ 要求。我想,我需要降级发布插件版本,因为我们的 CICD 环境仍然使用 1.7.1,而在我的 Mac 上它是 2.0.4
    • 我降级到插件版本 2.4.2 并且 SCM 是 1.9.2,其中错误已修复。不过,如果我声明没有这样的插件,我会得到以前的结果
    • 我不确定 SCM 1.9.2 是否可以工作。它使用的是相当新的 --porcelain 选项。我希望在您的情况下,没有调整的 m-release-p 2.4.2 应该可以工作。
    • 2.4.2 for MRP mvn -s ~/.m2/settings.xml.bac org.apache.maven.plugins:maven-release-plugin:2.4.2:prepare -DautoVersionSubmodules=true -DdevelopmentVersion=${RELEASE_VERSION}.1-SNAPSHOT -DpushChanges=true -DreleaseVersion=${RELEASE_VERSION}.0 -Dtag=v${RELEASE_VERSION}.0 没有明确设置 SCM 插件版本,不幸的是给出了相同的结果。 maven-scm-providers-git 正在下载 1.7、1.8.1 和 1.9,好像用的是 1.9。有没有办法在命令行中设置 scm-providers 的版本?
    • 下载多个版本没有意义。如果您使用额外的 -X 运行它,您将更改日志记录杆以进行调试。是的,它会很大,但它也会显示 Maven 在运行时实际使用了哪些依赖项。如果你能以某种方式分享这个输出会很好(pastebin.com?)。
    猜你喜欢
    • 2016-04-04
    • 1970-01-01
    • 1970-01-01
    • 2020-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-09
    • 1970-01-01
    相关资源
    最近更新 更多