在git服务器上发布后,在我的pom中添加了一个带有<tag>的新标记

时间:2015-10-20 19:17:58

标签: java git maven svn maven-release-plugin

我有一个基于maven的java项目,我最近在Bitbucket git服务器上使用mvn:release perform命令发布了它并且它成功了。但是,在发布完成后,我的pom.xml自动修改了标签中的代码片段<tag>HEAD</tag>,这让我感到很惊讶,因为在我过去的项目中进行颠覆版本时,我从未见过这种情况。

<scm>
    <connection>scm:git:https://nitalchandel@bitbucket.org/nitalchandel/jobmon.git</connection>
    <url>https://nitalchandel@bitbucket.org/nitalchandel/jobmon</url>
    <developerConnection>scm:git:https://nitalchandel@bitbucket.org/nitalchandel/jobmon.git</developerConnection>
    <tag>HEAD</tag>
</scm>

所以我的问题是:

  1. 这是maven或git或bitbucket的新功能吗?
  2. 因为我的NetBeans编辑器会发生这种情况吗? (我正在从Windows命令提示符下发布)
  3. 这可能是因为maven-release-plugin我的pom,我在下面提到过吗?
  4. 这是好事还是坏事?
  5. 的pom.xml

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-release-plugin</artifactId>
        <version>2.5.3</version>
        <configuration>
            <tagNameFormat>${project.name}-v@{project.version}</tagNameFormat>
        </configuration>
     </plugin>  
    

1 个答案:

答案 0 :(得分:1)

  
      
  1. 这是maven或git或bitbucket的新功能吗?
  2.   

这是maven-release-plugin的一项功能,因为version 2.3。调用目标release:prepare时,<tag>元素用于存储存储标记的SCM的URL。例如,对于SVN,当使用SCM时 svn://project/trunk<tag>元素 由svn://project/tags/project-1.0取代。使用Git,没有这样的信息(没有存储标记本身的URL),因此<tag>元素设置为HEAD

  
      
  1. 因为我的NetBeans编辑器会发生这种情况吗? (我正在从Windows命令提示符下发布)
  2.   

绝对不是,这与maven-release-plugin完全相关。

  
      
  1. 这可能是因为maven-release-plugin我的pom,我在下面提到过吗?
  2.   

不,<tagNameFormat>告诉maven-release-plugin创建标记时要选择的名称。默认情况下,使用的名称为${project.artifactId}-${project.version},但您可以将其覆盖为您想要的名称。

  
      
  1. 这是好事还是坏事?
  2.   

这是一个信息元素。目的是表明此POM是发布的结果。 AFAIK,它将始终由maven-release-plugin添加,并且没有理由将其删除。