【发布时间】:2013-05-20 13:31:31
【问题描述】:
我有以下项目结构:
- 框架
- 框架-父-pom
- 框架之类的东西
- ...
在 framework-parent-pom 的 pom.xml 中,我定义了以下插件:
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<branchBase>http://.../svn/REPO/branches/framework</branchBase>
<tagBase>http://.../svn/REPO/tags/releases/framework</tagBase>
<tagNameFormat>release-@{project.version}</tagNameFormat>
<releaseProfiles>release</releaseProfiles>
</configuration>
</plugin>
并遵循 SCM:
<scm>
<developerConnection>scm:svn:http://.../svn/REPO/trunk/framework/framework-parent-pom</developerConnection>
</scm>
当我运行以下命令时...
mvn release:prepare -DautoVersionSubmodules=true -Darguments="-DskipTests" -Dresume=false
...一切似乎都很顺利。
在本地创建了带有发布版本的 JAR,并且 POM 很好地更新到下一个 SNAPSHOT 版本。同样在 SVN 中,乍一看似乎还可以。该标签已创建,其中包含所有框架项目。
但是,在查看标记的 POM 时,我发现它们仍然具有 初始快照版本 作为版本。这当然会导致执行步骤构建快照版本而不是发布版本。
我做错了什么?
【问题讨论】:
-
底线,发布按预期工作,但标签中的版本没有删除
-SNAPSHOT后缀。对吗? -
确实,这是根本问题
-
实际准备标签。但是你也继续跑
mvn release:perform了吗? -
是的,并且那个人检查了带有快照版本的标签,并且(令人惊讶的是没有错误)将它安装在我的本地存储库(但快照版本)上。在 framework-parent-pom/checkout (Maven 签出标签的地方)我也只看到 SNAPSHOT 版本)。 “准备实际标签”是什么意思?
-
我发布这可能不是很有帮助,但我有很多问题是发布插件没有做它应该做的事情(见this question)所以也许考虑为自己节省一些时间和自己实施。 maven scm 插件为您提供了很多您需要的功能。
标签: maven maven-release-plugin