Maven pom.xml,SCM和发布

时间:2012-03-01 14:30:13

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

我想做一个mvn版本: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>

但这些并不像我想要的那样。相反,它会从/标签中获取所有内容,并在/标签下重新标记它。

再次,我想要的,从HEAD拿出,放下“-SNAPSHOT”并将其标记在/ tags

3 个答案:

答案 0 :(得分:6)

<scm>标记表示只读连接配置(“连接”元素),读写连接(“developerConnection”)和公开可见的URL。它与标记没有任何关系。在一个小型本地网络中,这三个参数通常是相同的。

对于标记库,您需要配置发布插件:

<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>

答案 1 :(得分:3)

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

答案 2 :(得分:1)

我成功使用maven-release-plugin,developerConnection指向trunk。

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