【问题标题】:Maven multi module project release managementMaven多模块项目发布管理
【发布时间】:2011-12-29 00:58:25
【问题描述】:

我有一个如下所示的 Maven 项目:

 - enterprise-pom

 - commons

 - core
   - domain
   - dao
   - search
   - importer-batch-app
   - processor-batch-app

 - systems
   - server-system
   - client-system

core依赖于enterprise-pom和common。

我刚刚发布了 3.0.0 的核心,通过这样做:

Release 3.0.0 of enterprise-pom
Release 3.0.0 of commons
Release 3.0.0 of core

所有这些都在 3.0.1-SNAPSHOT 并且在 SVN 中有一个为 3.0.0 创建的标签。

我们不想发布系统。所以它仍然在 3.0.0-SNAPSHOT 上。

问题:

我应该手动将 systems pom 更改为 3.0.1-SNAPSHOT 而不释放它(因为它根本不会被使用)?

系统依赖于核心。并且依赖项目前仍为 3.0.0-SNAPSHOT。那应该更新到什么?

【问题讨论】:

    标签: maven maven-3 release-management maven-release-plugin


    【解决方案1】:

    答案通常是:视情况而定。

    系统版本号:

    如果您打算一起发布所有内容,您可能应该更改版本号,因为在一个发布过程中的所有内容都应该具有相同的版本(不是强制性的,但以某种方式默认)。

    如果子模块有并且将有不同的发布周期,请不要手动更改。

    系统依赖:

    如果您的开发人员在他们的 IDE 中一次打开所有内容,您应该手动将依赖项调整为 3.0.1-SNAPSHOT,以免混淆他们。 如果他们按子项目打开子项目,您应该将依赖项更改为已发布的 3.0.0 版本,并像处理任何其他 3rd 方库一样处理它。

    如果基本上所有内容都具有相同的发布周期,但现在您不想公开系统工件,您也可以关闭这些工件的部署:

            <plugin>
                <artifactId>maven-deploy-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
    

    然后一起释放

    【讨论】:

      猜你喜欢
      • 2011-10-14
      • 2011-10-07
      • 1970-01-01
      • 1970-01-01
      • 2019-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-26
      相关资源
      最近更新 更多