【问题标题】:Maven pom.xml, SCM and releaseMaven pom.xml、SCM 和发布
【发布时间】:2012-03-20 01:15:57
【问题描述】:

我想做一个 mvn release:prepare,它将从版本中删除“-SNAPSHOT”并在 SVN 中标记它。

我在 pom.xml 中有这些设置:

<scm>
  <connection>scm:svn:http://subversion.local:3690/svn/projects/x/trunk</connection>
  <developerConnection>scm:svn:http://subversion.local:3690/svn/projects/x/tags</developerConnection>
  <url>scm:svn:http://subversion.loi.local:3690/svn/projects/x/tags</url>
 </scm>

但是这些行为不像我想要的那样。相反,它从 /tags 获取所有内容,然后在 /tags 下重新标记它。

再说一次,我想要什么,从 HEAD 中取出“-SNAPSHOT”并将其标记在 /tags 下

【问题讨论】:

    标签: maven release pom.xml maven-release-plugin


    【解决方案1】:

    &lt;scm&gt; 标签表示只读连接配置(“connection”元素)、读写连接(“developerConnection”)和公开可见的 URL。它与标记无关。在小型本地网络中,这 3 个参数相同是很常见的。

    标签库需要配置发布插件:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-release-plugin</artifactId>
        <configuration>
            <tagBase>scm:svn:http://subversion.local:3690/svn/projects/x/tags</tagBase>
            <autoVersionSubmodules>true</autoVersionSubmodules>
        </configuration>
    </plugin>
    

    【讨论】:

      【解决方案2】:

      我正在成功使用 maven-release-plugin,developerConnection 指向主干。

      在准备发布时,会在 /tags 目录下创建标签(插件还会在标签的 pom.xml 中更新 connectiondeveloperConnection

      【讨论】:

      • 你是对的,但是当我试图执行发布时:执行失败。它显示目标目录中没有 pom.xml。你能帮帮我吗?
      【解决方案3】:

      只是想说tagBase 参数只与SVN 相关! (例如 CVS 不使用它。)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多