【maven】---聚合和继承

来源:互联网 发布:格式化成json字符串 编辑:程序博客网 时间:2024/05/16 15:48

前言

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

内容

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

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

聚合

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

  • 子本:


  • 父本:

<!-- 聚合 -->  <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>

小结

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


感谢您的宝贵时间···

0 0