Maven嵌套模块 - 二级儿童

JDC*_*JDC 6 directory-structure maven multi-module

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

root
  --pom.xml
  --parent
    --pom.xml
  --module-a
    --pom.xml
  --module-b
    --pom.xml
Run Code Online (Sandbox Code Playgroud)

看到这里

但是现在我在如何处理第二/第三/ n级模块方面有点挣扎,例如模块-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
Run Code Online (Sandbox Code Playgroud)

或者我会将模块的子模块放在根目录中:

root
  --pom.xml
  --parent
    --pom.xml
  --module-a
    --pom.xml
  --module-b
    --pom.xml
  --module-a-1
    --pom.xml
  --module-a-2
    --pom.xml
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助!

Mic*_*ski 1

是的,前一段时间就去过那里。说实话,尝试过之后,我相信这确实是口味问题。对我来说,更清楚的是坚持使用 rootpom.xml作为父级,而不是为其创建专用模块。这也是 Maven 的实际默认值,因为<relativePath>forparent..最初是。正如您在案例中看到的,当进一步扩展 Maven 结构而不仅仅是 1 级时,这种优势甚至更加重要。

我可以想象在这个父模块中拥有某种基于 Maven 的逻辑的优势,例如程序集定义或类似的东西。然后它提供了一个标准 Maven 目录布局的根目录,您可以在其中放置您的东西。然而,我真的不记得什么时候我会发现它有用,现在使用 Maven 已经很多年了,包括具有数百个模块的非常大的代码库。