maven的继承机制

子工程可以覆盖父工程的相同包的不同版本;那么子工程中默认使用子工程中pom文件中的配置

创建父工程

创建父工程和创建一般的 Java工程操作一致,唯一需要注意的是打包方式处要设置为pom。

在子工程中引用父工程

<parent>

<groupId>...</groupId>

<artifactId>...</artifactId>

<version>...</version>

<relativePath>从当前目录到父项的pom.xml文件的相对路径文件的相对路径</relativePath>

</parent> 

然后子项目自动拥有了父项目的依赖;

此时如果子工程的groupId和version和父工程重复则可以删除。

在父工程中管理依赖

parent项目中的dependencies标签,用标签dependencyManagement标签括起来

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.5</version>
        </dependency>
    </dependencies>
</dependencyManagement>

 

在子项目中重新指定需要的依赖,删除范围和版本号;

<dependency>
  <groupId>commons-lang</groupId>
  <artifactId>commons-lang</artifactId>
</dependency>

 

可以被继承的元素:

groupId:项目组ID,项目坐标的核心元素

version:项目版本,项目坐标的核心元素

description:项目的描述信息

organization:项目的组织信息

inceptionYear:项目的创始年份

url:项目的url地址

developers:项目的开发者信息

contributors:项目的贡献者信息

distributionManagement:项目的部署配置信息

issueManagement:项目的缺陷跟踪系统信息

ciManagement:项目的持续集成系统信息

scm:项目的版本控制系统信息

mailingLists:项目的邮件列表信息

properties:自定义的maven属性配置信息

dependencyManagement:项目的依赖管理配置

repositories:项目的仓库配置

build:包括项目的源码目录配置、输出目录配置、插件管理配置等信息

reporting:包括项目的报告输出目录配置、报告插件配置等信息

posted on 2023-02-01 10:40  companion  阅读(146)  评论(0编辑  收藏  举报