【问题标题】:maven release plugin with github does not work in 2.2.1?带有 github 的 maven 发布插件在 2.2.1 中不起作用?
【发布时间】:2011-10-19 18:20:37
【问题描述】:

我有点困惑,因为在我的开发过程中,我遇到了一个只能通过将 maven 发布插件从 2.2.1 降级到 2.0-beta-9 才能解决的问题。

基本上我的项目是在 github 上使用 git,所以我在 pom 中的 scm 条目就像

    scm:git:git@github.com/<username>/<projectname>.git

Running release:prepare 总是失败,因为在标记时使用了这个命令:

    git push git@github.com/<username> <tagname>

如您所见,项目名称被省略了。

我在网上查了一下,最终找到了this link

该示例使用的是 2.0-beta-9 版本,它有一个很大的不同,它没有使用 git url,而是使用了 origin!

            git push origin <tagname>

而且起源一切正常。

不幸的是,我没有找到发布插件的标签/属性以始终使用 origin 而不是 it@github.com/

有趣的是:在标记修改后的 pom 推送之前完成(多模块项目)。并且使用了正确的 url。

edit:基本上2.2.1版使用scm url而不是“origin”是正确的,但是标记操作不能从url中删除项目名称。

问候

【问题讨论】:

    标签: plugins maven github release


    【解决方案1】:

    我在使用 Maven 2.2.1 和 git 时遇到了一些类似的与 URL 相关的问题。尝试一些 git URL 的变体,例如使用 ':' 而不是 '/' 作为用户名和项目名之间的分隔符。

    更新:在 Maven 2.2.1 中,我看到了您所描述的向原点推送:

    git push origin <tagname>
    

    我的 SCM 网址是:

    <scm>
        <developerConnection>scm:git|ssh://git@github.com/zzantozz/testbed.git</developerConnection>
    </scm>
    

    根据mvn help:effective-pom,我的发布插件是:

    <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <version>2.0</version>
    </plugin>
    

    这是与:

    $ mvn -version
    Apache Maven 2.2.1 (r801777; 2009-08-06 14:16:01-0500)
    Java version: 1.6.0_26
    Java home: /home/ryan/dev/tools/jdk1.6.0_26/jre
    Default locale: en_US, platform encoding: UTF-8
    OS name: "linux" version: "2.6.35-30-generic" arch: "amd64" Family: "unix"
    enter code here
    

    【讨论】:

    • 行不通,如果我将 / 替换为:我什至没有进行标记,之前提交的 pom 的推送失败了。
    • 在答案中添加了我的设置的详细信息。也许你会发现差异。
    猜你喜欢
    • 2013-10-16
    • 2012-05-28
    • 1970-01-01
    • 2011-03-05
    • 1970-01-01
    • 1970-01-01
    • 2021-12-20
    • 2012-08-30
    • 2013-12-20
    相关资源
    最近更新 更多