我通常的做法是每个svn主干有一个单独的maven项目(可以是多模块),如下所示:
trunk/ (style 1)
/pom.xml
/submod-1
/submod-2
基本上,整个行李箱被视为单个释放包。我发现这更容易管理。有一个聚合/父pom来管理这个主干中的所有模块。
然而,我注意到我的一些同事组织如下:
trunk/ (style 2)
/project-1
/pom.xml
/project-2
/pom.xml
基本上,在单个svn trunk中...... project-1和project-2需要单独管理。即我不能检查行李箱,并将其内容作为一个单一的多模块maven项目工作 - 我很欣赏。
Q1:什么时候风格2会是一个好主意,如果有的话?
第二季度:有人能告诉/指出如何使用subversion管理maven项目的最佳实践吗?答案 0 :(得分:2)
我见过这两种情况。
在我看来,这取决于项目/模块的独立性。如果他们有自己的发布计划,那么他们拥有自己的主干,分支和标签是有意义的。但是,如果项目/模块总是一起发布,那么它们可能成为单个主干的一部分。
从maven的角度来看,如果多模块项目的模块从父项继承<version>
,那么它应该遵循上面的style 1
。
答案 1 :(得分:2)
我非常同意@ Raghuram的回答,但是想补充以下内容:
我们使用这两种风格取得了巨大的成功 - 主要区别在于您用于发布的方式和频率。
使用Style 2(和实用程序项目示例)如果这些项目共享相同的SVN标记和主干,我看不出问题。开发人员仍然可以决定是否要检查整个实用程序主干或仅检查单个项目。
答案 2 :(得分:1)
只需查看this问题,至少是最常见的答案。它实际上总结了案例,并说了很多关于它的事情。
答案 3 :(得分:0)
想想继续整合: 这个想法首先使用jinkins,bitbucket或bamboo等CI服务器更加灵活......