【问题标题】:Maven release process phasesMaven 发布流程阶段
【发布时间】:2016-12-24 22:04:46
【问题描述】:

我对 maven 的发布过程有点困惑。当我搜索它时,我发现它是一个两步过程:

  1. 准备
  2. 执行

  3. 准备发布经历了以下发布阶段:

a)检查源中没有未提交的更改

b)检查是否没有 SNAPSHOT 依赖项

c)将 POM 中的版本从 x-SNAPSHOT 更改为新版本(系统将提示您选择要使用的版本)

d) 将 POM 中的 SCM 信息转换为包含标签的最终目的地

e)针对修改后的 POM 运行项目测试,以确认一切正常

f) 提交修改后的 POM

g)用版本名称标记 SCM 中的代码(将提示输入)(版本名称)

h)将 POM 中的版本添加到新值 y-SNAPSHOT(也会提示输入这些值)

i) 提交修改后的 POM

  1. 执行发布会运行以下发布阶段:

a) 从带有可选标签的 SCM URL 结帐

b) 运行预定义的 Maven 目标以发布项目(默认部署 site-deploy)

让我感到困惑的是,当我们在 中检查相同的 POM(我们在准备阶段提交的)时,为什么我们要在 preparation 阶段提交 POM 执行阶段?

当我们已经有了 POM 时,为什么要提交然后再次检查它?

任何帮助将不胜感激。

提前致谢。

【问题讨论】:

标签: maven


【解决方案1】:

当步骤 i) 完成后,您在 POM 中再次拥有 xxx-SNAPSHOT 版本号。那是您将要开发的新版本。因此,您不能基于该 POM 进行发布。需要根据您在步骤 g) 中创建的标签创建版本。

此外,Maven 确保您不会在发布过程中修改工件(从而创建未提交的更改)。这就是为什么它会在执行阶段检查整个源代码树,而不是依赖于文件系统本地已有的工件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多