每个svn主干的一个(多模块)maven项目与否

kct*_*ang 7 maven

我通常的做法是每个svn主干有一个单独的maven项目(可以是多模块),如下所示:

trunk/ (style 1)
  /pom.xml
  /submod-1
  /submod-2
Run Code Online (Sandbox Code Playgroud)

基本上,整个行李箱被视为单个释放包.我发现这更容易管理.有一个聚合/父pom来管理这个主干中的所有模块.

但是,我注意到我的一些同事组织如下:

trunk/ (style 2)
  /project-1
    /pom.xml
  /project-2
    /pom.xml
Run Code Online (Sandbox Code Playgroud)

基本上,在单个svn主干内...... project-1和project-2需要单独管理.即我不能检查主干并使用其内容作为单个多模块maven项目 - 我欣赏的东西.

Q1:如果风格2什么时候会成为一个好主意?

Q2:有人能告诉/指出如何使用subversion管理maven项目的最佳实践吗?

Rag*_*ram 2

我见过这两种情况的例子。

在我看来,这取决于项目/模块的独立程度。如果他们有自己的发布计划,那么他们拥有自己的主干、分支和标签是有意义的。然而,如果项目/模块总是一起发布,那么它们成为单个主干的一部分可能是有意义的。

从maven的角度来看,如果多模块项目的模块<version>从父级继承,那么它应该遵循style 1上面的规则。