Maven多模块项目发布管理



我有一个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。它应该更新成什么?

答案往往是:视情况而定。

系统版本号:

如果你打算一起发布,你可能应该改变版本号,因为在一个发布过程中所有的东西都应该有相同的版本(不是强制的,但某种程度上是默认的)。

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

系统的依赖性:

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

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

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

然后一起释放

最新更新