maven工程的继承

创建父工程和子工程

创建父工程

具体步骤可以参考之前的笔记,注意:在创建父工程的时候packaging必须选择pom。
maven工程的继承

创建子工程

具体创建步骤参考之前的笔记,创建子工程的时候需要指定父工程的GAV。
maven工程的继承

父工程统一依赖jar包

在父工程中统一对jar包进行依赖,子工程都会继承此依赖。

<dependencies>
<!-- 父工程写的依赖,子工程都会继承 -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.9</version>
    </dependency>
</dependencies>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

父工程统一管理版本号

Maven使用dependencyManagement管理依赖的版本号。当在父工程中写入以下配置:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.9</version>
        </dependency>
    </dependencies>
</dependencyManagement>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

这样 子工程中还没有该jar包的依赖,如果子工程中需要依赖该jar包的话,需要添加dependency节点,此时子工程中不需要指定version:

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
    </dependency>
</dependencies>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

父工程中版本号提取

将版本号提取出来统一集中管理。

<properties>
    <junit.version>4.9</junit.version>
</properties>

<!-- 只是定义依赖的GAV,没有实际进行依赖,子类如果需要依赖,需要在子类中定义dependency -->
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
        </dependency>
    </dependencies>
</dependencyManagement>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

maven工程的继承