0
我只是好奇,如果在同一个Maven应用程序中同时使用继承和聚合会发生什么? 这是应用程序的结构:Maven继承和聚合
我的项目,应用
- 我的项目-JAR
- 我的项目战
现在,在应用程序的POM .xml,我将jar和war项目声明为模块,同时这两个模块中的poms声明应用程序pom为其父项。这是在这里创造一些冗余,不是吗?
这种情况的最佳解决方案是什么?
我只是好奇,如果在同一个Maven应用程序中同时使用继承和聚合会发生什么? 这是应用程序的结构:Maven继承和聚合
我的项目,应用
现在,在应用程序的POM .xml,我将jar和war项目声明为模块,同时这两个模块中的poms声明应用程序pom为其父项。这是在这里创造一些冗余,不是吗?
这种情况的最佳解决方案是什么?
这不是多余的。他们做了两件不同的事情。
如果你定义了<modules>
(聚合),你可以说,哪些项目必须建立,它的包装类型是pom
。
如果您继承,您将通过定义<parent/>
继承父母的首选项。
参见:
继承和聚集创造一个很好的动态控制,以通过建立一个单一的,高层次的POM。您经常会看到既是父母又有聚合者的项目。例如,整个maven核心通过一个基本的POM org.apache.maven:maven运行,因此构建Maven项目可以通过一个命令执行:mvn compile。但是,虽然聚甲醛项目,聚合项目和父项目都不是相同的,不应该混淆。 POM项目可以继承 - 但不一定有 - 它聚合的任何模块。相反,POM项目可以合并不从其继承的项目。
更多资讯here。