Maven嵌套模块 - 二级儿童

时间:2015-06-18 07:48:11

标签: maven directory-structure multi-module

我阅读了很多关于maven多模块项目的内容,并得出结论我想使用以下方法:

root
  --pom.xml
  --parent
    --pom.xml
  --module-a
    --pom.xml
  --module-b
    --pom.xml

请参阅here

但现在我在如何处理第二/第三/ n级模块方面有点挣扎,例如module-a还有多个子模块,特别适用于具有大量模块的深层次结构。

我是否将模块a再次视为根,然后产生以下结构:

root
  --pom.xml
  --parent
    --pom.xml
  --module-a
    --pom.xml
    --parent-module-a
        --pom.xml
    --module-a-1
        --pom.xml
    --module-a-2
        --pom.xml
  --module-b
    --pom.xml

或者我将模块-a的子模块保留在根目录中:

root
  --pom.xml
  --parent
    --pom.xml
  --module-a
    --pom.xml
  --module-b
    --pom.xml
  --module-a-1
    --pom.xml
  --module-a-2
    --pom.xml

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

是的,不久前在那里。说实话,经过尝试,我相信它的味道真的很重要。对我而言,坚持使用root pom.xml作为父母而不是为其做专用模块更为明确。它也是Maven的实际默认值,因为父级的<relativePath>最初是..。正如您在案例中所看到的,当将Maven结构进一步扩展到1级以上时,这一优势更为重要。

我可以想象在这个父模块中使用基于Maven的逻辑的优点,例如程序集定义或类似的东西。然后它为标准Maven目录布局提供了一个根目录,您可以在其中放置您的东西。但是,我真的不记得当我发现它很有用的情况,现在做Maven很多年了,包括那些包含数百个模块的大型代码库。