您的位置:首页 > 其它

【maven】---聚合和继承

2017-02-13 09:33 176 查看

前言

    自从我知道写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>

小结

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

感谢您的宝贵时间···
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: