【maven】---聚合和继承

前言

自从我知道写maven实战这本书的作者长得随心所欲后,我再拿起这本书真心的不想看前言了。下面分享一下maven中的所谓的聚合和继承。

内容

下文中的子本指的是:多个maven项目。

父本指的是:maven的父项目。

聚合

Maven的另一个更加值得瞻仰的地方,就是多个maven项目之间可以建立某种联系。比如:多个maven项目,我们都想发布成war。这个时候,我们可以一个项目一个项目的发布,只到这几个项目完全发布。Maven提供了一种聚合机制,建立一个父本,然后在父本pom.xml配置多个项目,然后直接发布父本的pom.xml即可。下面举例说明:

  • 子本:

【maven】---聚合和继承

  • 父本:

<!-- 聚合 -->
<modules>
<!-- <module>../user-core</module>-->
<module>../user-dao</module>
<module>../user-log</module>
<module>../user-service</module>
</modules>

效果就是每个maven项目都发布了war

继承

多个maven项目,可能引用好多相同的依赖jar包,那样的话,每个maven项目的相同依赖,都要不同程度的在*仓库下载。本着抽象的理念,遇到相同的是不是考虑一下抽象,于是maven出了一个继承。也就是在父本中出现的jar依赖,子本中如果继承该父本,则可以享用这个jar包。这样是不是方便了很多,下面是pom.xml配置。

  • 子本:

  <parent>
<groupId>org.konghao.user</groupId>
<artifactId>user-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../user-parent/pom.xml</relativePath>
</parent> <artifactId>user-log</artifactId>
<name>user-log</name> <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
</dependencies>
  • 父本:

  <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<junit.version>4.10</junit.version>
</properties> <dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>

小结

还是个菜的不能再菜的鸟,希望路过的大神,给予指导啊!

感谢您的宝贵时间···

上一篇:Maven学习总结(七):Maven的聚合和继承


下一篇:Python转义字符中'\'的个数问题