Maven 发布流程阶段
Posted
技术标签:
【中文标题】Maven 发布流程阶段【英文标题】:Maven release process phases 【发布时间】:2016-12-24 22:04:46 【问题描述】:我对 maven 的发布过程有点困惑。当我搜索它时,我发现它是一个两步过程:
-
准备
执行
准备发布经历了以下发布阶段:
a)检查源中没有未提交的更改
b)检查是否没有 SNAPSHOT 依赖项
c)将 POM 中的版本从 x-SNAPSHOT 更改为新版本(系统将提示您选择要使用的版本)
d) 将 POM 中的 SCM 信息转换为包含标签的最终目的地
e)针对修改后的 POM 运行项目测试,以确认一切正常
f) 提交修改后的 POM
g)用版本名称标记 SCM 中的代码(将提示输入)(版本名称)
h)将 POM 中的版本添加到新值 y-SNAPSHOT(也会提示输入这些值)
i) 提交修改后的 POM
-
执行发布会运行以下发布阶段:
a) 从带有可选标签的 SCM URL 结帐
b) 运行预定义的 Maven 目标以发布项目(默认部署 site-deploy)
让我感到困惑的是,当我们在 中检查相同的 POM(我们在准备阶段提交的)时,为什么我们要在 preparation 阶段提交 POM 执行阶段?
当我们已经有了 POM 时,为什么要提交然后再次检查它?
任何帮助将不胜感激。
提前致谢。
【问题讨论】:
解决了吗?如果是这样,请考虑upvoting/accepting 的答案。 【参考方案1】:当步骤 i) 完成后,您在 POM 中再次拥有 xxx-SNAPSHOT
版本号。那是您将要开发的新版本。因此,您不能基于该 POM 进行发布。需要根据您在步骤 g) 中创建的标签创建版本。
此外,Maven 确保您不会在发布过程中修改工件(从而创建未提交的更改)。这就是为什么它会在执行阶段检查整个源代码树,而不是依赖于文件系统本地已有的工件。
【讨论】:
以上是关于Maven 发布流程阶段的主要内容,如果未能解决你的问题,请参考以下文章