maven的聚合和继承

Maven的聚合特性能够把项目的各个模块聚合在一起构建;

而Maven的继承特性则能帮组抽取各模块相同的依赖和插件等配置,在简化POM的同时,还能促进各个模块配置的一致性。

聚合:新建一个项目demo 。 把A、B、C 三个项目都聚合到demo中

pom.xml配置

<groupId>com.hongxing</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging><!--此处的jar改为pom-->

<name>demo</name>
<url>http://maven.apache.org</url>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<modules>
  <module>../A</module>  <!-- 把模块A集成进来-->
  <module>../B</module>      <!-- 把模块B集成进来-->
  <module>../C</module>      <!-- 把模块C集成进来-->
</modules>

然后执行 clean package 命令。控制台会输出A、B、C三个项目的编译信息,demo最终编译成功。

继承:新建一个maven项目

<groupId>com.hong</groupId>
<artifactId>jc</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>    <!-- 把jar变成pom  -->

<name>jc</name>
<url>http://maven.apache.org</url>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<junit.version>3.8.1</junit.version>   <!-- 变量  -->
</properties>
<dependencyManagement>     <!-- 有 dependencyManagement 说明是父项目-->
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit.version}</version>   <!-- 应用变量  -->
      <scope>test</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

在要依赖此项目的项目中写:


<parent>    <!--继承父项目-->
  <groupId>com.hong</groupId>
  <artifactId>jc</artifactId>
  <version>0.0.1-SNAPSHOT</version>
</parent>

并删除version、scope标签

原文地址:https://www.cnblogs.com/zhaoleigege/p/6025758.html