maven中的继承和子模块概念有什么区别?假设我有一个项目A
,其父项是项目B
?在这种情况下,A
是B
的子模块,还是完全不同?
答案 0 :(得分:4)
maven中的继承概念与OOP中的继承非常相似。通常,当您想重用其他项目的设置(如依赖项,存储库,构建插件等)时,您将继承(包含{pom.xml中的<parent>
部分)。
子模块的概念不同。当您的项目由一些较小的项目组成时,它解决了软件开发中非常常见的情况,每个项目都有自己的目标。在maven术语中,它是通过pom.xml中的<modules>
部分完成的。当您在主项目的根目录中执行maven目标时,此目标将传播到所有子项目并在那里执行。
但在大多数情况下,这两个概念都是一起使用的。您有主pom.xml文件,它定义了公共依赖项,构建生命周期,设置,属性,存储库等以及模块集。每个模块都从主pom.xml继承配置,并可能添加特定的内容。