我最近使用 mvn:release perform
在 Bitbucket git 服务器上发布了一个基于 maven 的 java 项目命令,它是成功的。然而,在发布完成后,我的 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>
所以我的问题是:
- 这是 maven、git 或 bitbucket 的新功能吗?
- 这会不会是我的 NetBeans 编辑器造成的? (我正在从 Windows 命令提示符下发布)
- 这可能是因为我在下面提到的 maven-release-plugin 我的 pom 而发生的吗?
- 这是好事还是坏事?
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>
最佳答案
- Is this a new feature of maven or git or bitbucket?
这是 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
.
- Could this be happening because of my NetBeans editor? (I am doing releases from Windows command prompt)
绝对不是,这纯粹与maven-release-plugin
有关.
- Could this be happening because of maven-release-plugin my pom which I have mentioned below?
不, <tagNameFormat>
告诉maven-release-plugin
创建标签时选择的名称。默认情况下,使用的名称是 ${project.artifactId}-${project.version}
但您可以将其覆盖为您想要的。
- Is this a good or bad thing?
这是一个信息元素。目的是表明此 POM 是发布的结果。 AFAIK,它将始终由 maven-release-plugin
添加并且没有理由将其删除。
关于java - 在 git 服务器上发布后,一个带有 <tag> 的新标签被添加到我的 pom 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33245076/