Maven聚合&继承

聚合

多个本地Maven项目如果都要安装到本地仓库中,我们就要依次执行 install 命令,maven有一种方式可以使其多个项目只需执行一次install 命令即可全部安装至本地仓库中,这种方式就叫做聚合。

现在我们有3个maven项目 project01、project02、 project03 让它们三个聚合在一块然后安装至本地仓库。
1. 新建一个maven项目 mavenProject(使用quickstart这个模板,建立项目过程略)
2. 修改mavenProject的pom.xml 使其打包方式为pom
3. 使用modules标签管理聚合
4. 配置pom.xml加入聚合项目

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>zzq.mavenProject</groupId>
    <artifactId>mavenProject</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>

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

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <!--聚合  -->
    <modules>
        <module>../project01</module>
        <module>../project02</module>
        <module>../project03</module>
    </modules>
</project>

在mavenProject项目上执行install,实际上maven会执行3次install
依次对聚合的项目进行install

继承

在maven中,多个项目之间会重复使用同一个构建,我们可以将其抽出来单独作为父构建,使新项目继承此父构建。

新建一个maven项目,命名为project-parent 作为父构建 配置其pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>zzq.mavenProject</groupId>
  <artifactId>project-parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>project-parent</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>
      <!--使用properties里定义的量 使用类似于EL表达式进行调用  -->
      <version>${junit.version}</version>
      <scope>test</scope>
    </dependency>
</dependencies>
</dependencyManagement>
</project>

使project01项目继承此父构建,配置project01的pom

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>zzq.mavenProject</groupId>
    <artifactId>project01</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

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

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <!--继承父构建  -->
    <parent>
        <groupId>zzq.mavenProject</groupId>
        <artifactId>project-parent</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <dependencies>
        <dependency>
        <!--使用继承的构建  -->
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.0</version>
        </dependency>
    </dependencies>
</project>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值