我阅读了很多关于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
感谢您的帮助!
答案 0 :(得分:1)
是的,不久前在那里。说实话,经过尝试,我相信它的味道真的很重要。对我而言,坚持使用root pom.xml
作为父母而不是为其做专用模块更为明确。它也是Maven的实际默认值,因为父级的<relativePath>
最初是..
。正如您在案例中所看到的,当将Maven结构进一步扩展到1级以上时,这一优势更为重要。
我可以想象在这个父模块中使用基于Maven的逻辑的优点,例如程序集定义或类似的东西。然后它为标准Maven目录布局提供了一个根目录,您可以在其中放置您的东西。但是,我真的不记得当我发现它很有用的情况,现在做Maven很多年了,包括那些包含数百个模块的大型代码库。