POM文件中子工程与父工程的关系(最全)

1.pom文件

        pom文件定义了一个maven项目的maven配置,一般pom文件的放在项目或者模块的根目录。maven的遵循约定大于配置。

<?xml version="1.0" encoding="UTF-8"?>
<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>

    <dependencies>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>7.1.0</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

</project>
project整个pom配置文件的根元素,所有配置全都写在project元素中
groupId项目组的标识,它在一个组织或者项目中通常是唯一的
artifactId项目的标识,通常是工程的名称。它在一个项目组下是唯一的
version项目的版本号,用来区分同一个artifact的不同版本
packaging这是项目产生的构件类型,即项目通过maven打包的输出文件的后缀名,包括jar、war、ear、pom等

2.父pom和子pom关系(继承)

  ①如果父pom中是

  <dependencies>

  </dependencies>

        那么子pom会自动继承父pom依赖,不需要子pom去导入

  ②如果父pom中是

<dependencyManagement>
    <dependencies>

    </dependencies>
</dependencyManagement>

        则子pom不会自动继承父pom的依赖,除非子pom中声明,声明需要groupId和artifactId,无需给到version。此方法是用来约束子pom,若要使用,需声明。

3.父POM与子POM

(1)父POM的作用:是消除配置的重复

(2)子POM:

        无条件继承父POM的dependencies元素。

        子POM的dependencies元素可以有选择的继承父POM的dependencyManagement元素

        子pom也可以自己指定依赖的版本,不使用父pom的。

        子POM无条件继承父POM的plugins元素;子POM的plugins元素可以有选择的继承父POM的pluginManagement元素。
 

    <parent>
        <artifactId></artifactId>
        <groupId></groupId>
        <version></version>
    </parent>
parent用于指定父项目
groupIdparent的子元素,父项目的groupId,用于定位父项目
artifactIdparent的子元素,父项目的artifactId,用于定位父项目
versionparent的子元素,父项目的version,用于定位父项目
relativePathparent的子元素,用于定位父项目pom文件的位置

        Maven使用effective pom(父工程pom加上工程自己的配置)来执行相关的目标,它帮助开发者在pom.xml中做尽可能少的配置。当然,这些配置也可以被重写。

        parent元素可以指定父pom。用户可以通过增加parent元素来自定义一个父pom,从而继承该pom的配置。parent元素中包含一些子元素,用来定位父项目和父项目的pom文件位置。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值