Maven 大项目:一个版本的所有或自己的发布周期为每个子项目?
假设我们有一组Maven工件,它们之间有一些依赖关系。工件由不同的团队拥有,并且可能同时由多个团队拥有。这是我们的大项目。例如:Maven 大项目:一个版本的所有或自己的发布周期为每个子项目?,maven,release-management,Maven,Release Management,假设我们有一组Maven工件,它们之间有一些依赖关系。工件由不同的团队拥有,并且可能同时由多个团队拥有。这是我们的大项目。例如: projectX --- projectA | \ projectB projectC 一个问题是:将所有子项目保留在一个具有一个版本的大型Maven项目中,还是让每个团队拥有自己的工件、自己的发布周期和自己的版本更好? 分离团队的好处很简单:如果一些团队构建失败,其他团队仍然使用该团队提供的旧依赖项,并且没有遇到任何问题。此外
projectX --- projectA
| \
projectB projectC
一个问题是:将所有子项目保留在一个具有一个版本的大型Maven项目中,还是让每个团队拥有自己的工件、自己的发布周期和自己的版本更好?
分离团队的好处很简单:如果一些团队构建失败,其他团队仍然使用该团队提供的旧依赖项,并且没有遇到任何问题。此外,在每个全球版本中,我们都可以看到哪些模块发生了更改,并且更容易发现问题
将团队分开的缺点是:
那么,对于这种典型情况,什么是最佳实践呢?遗憾的是,没有黄金法则。我曾参与过一个大项目(~90个maven模块/子模块……从maven1迁移到maven2!),在那些日子里,我们在开发快照版本时,对每个版本都使用一个大版本 但在我看来,这取决于两个因素: