代码之家  ›  专栏  ›  技术社区  ›  mhshams

如何在Maven和SVN中实现稳定发布

  •  1
  • mhshams  · 技术社区  · 14 年前

    我们基于java的项目中有大约100个maven工件。这些工件分为5种不同的产品。显然,其中一些是在产品之间共享的。

    假设:模块A依赖于模块B,后者是快照版本。 我在SVN中标记模块A作为发布或里程碑或。。。 以后如果有人更改模块B,它会影响标记的版本。下一次如果我尝试构建标记版本,我将有一个损坏的构建。

    有办法解决这个问题吗?

    我不想使用配置文件停止快照更新。

    谢谢大家。

    4 回复  |  直到 14 年前
        1
  •  2
  •   Boris Pavlović    14 年前

    如果一个版本有依赖关系,我不会标记它,哪个版本是快照。

        2
  •  1
  •   Pascal Thivent    14 年前

    问题是,如果您在svn中为某个版本标记产品,则标记不稳定,因为从属共享模块是快照,其他模块可以更改它们(…)是否有方法解决此问题?

    您发现了问题,答案很明显:您应该只在执行发布时使用固定版本。有两个插件可以帮助简化整个过程:

        3
  •  0
  •   Peter Schuetze    14 年前

    尽管我同意鲍里斯和帕斯卡的观点,但有两种方法。

    1. 标记整个配置管理,包括所有快照。当您构建代码时,您必须签出您的项目和所有依赖项。然后按照正确的顺序构建它们,这样就得到了完全相同的结果。如果涉及多个供应链管理,则这会变得冗长乏味。

    在您设法仅使用已发布的依赖项之前,这应该只是一个临时的解决方法。

        4
  •  0
  •   Salandur    14 年前

    如果你使用 maven-release-plugin