【发布时间】:2015-09-16 21:15:39
【问题描述】:
来自 Maven 发布插件 - Prepare a Release document,准备发布经历了以下发布阶段:
- 检查源中没有未提交的更改
- 检查是否没有 SNAPSHOT 依赖项
- 将 POM 中的版本从 x-SNAPSHOT 更改为新版本(系统会提示您选择要使用的版本)
- 转换 POM 中的 SCM 信息以包含标签的最终目的地
- 针对修改后的 POM 运行项目测试,以确认一切正常
- 提交修改后的 POM
- 用版本名称标记 SCM 中的代码(将提示输入)
- 将 POM 中的版本添加到新值 y-SNAPSHOT(也会提示输入这些值)
- 提交修改后的 POM
我的问题是:
有没有办法在批处理模式下为依赖项执行第 8 步?我知道如何使用参数 (developmentVersion) 将项目版本更改为 SNAPSHOT,但我不知道如何更改依赖项。
当我使用时
mvn 发布:准备发布:执行
maven 告诉我我的 pom 中有 SNAPSHOT 依赖项,我可以为它们提供发布和开发版本。但是有没有办法以批处理模式给它们?
我知道 maven-versions-plugin:use-latest/next-snapshot 但它对我不起作用。
我的版本号流程应该是这样的:
- 01.04.05-SNAPSHOT(发布前)
- 01.04.05(发布版)
- 01.04.06-SNAPSHOT(发布后)
【问题讨论】:
-
1) 所有依赖的版本都一样吗? 2)依赖的版本和工件的版本一样吗?
-
添加 1. 不。根据项目,不同版本有 1 到 10 个不同的依赖项 添加 2. 不。有不同
-
你应该检查versions-maven-pugin...
-
正如我所说:我知道 maven-versions-plugin:use-latest/next-snapshot 但它对我不起作用。
-
现在我使用解决方法:1.
mvn updates:use-release -Dincludes=my.packages.* versions:commit2.mvn -B -Dusername=xxx -Dpassword=xxx -DreleaseVersion=04.05.39 -DdevelopmentVersion=04.05.40-SNAPSHOT release:clean release:prepare release:perform -Dresume=false(我正在更改版本号) 3.mvn -B versions:use-next-snapshots -DallowSnapshots=true -Dincludes=my.packages.*步骤 nr 3 不起作用。我不知道为什么。使用我在步骤 3 中发布的示例,我想将版本从 01.04.05 更改为 01.04.06-SNAPSHOT(此快照版本存在于我的快照工件中)。