maven之dependencyManagement

本文介绍如何使用Maven的dependencyManagement特性来统一管理多模块项目的依赖版本,避免版本冲突问题,简化版本更新流程。

使用背景:

当某个项目包含多个模块,每个模块都需要引用相同的包(例如:quartz),为了保证各个子模块之间因为包的问题出现版本冲突,maven引入了dependcy management。

使用说明:

通过一个简单的工程例子来说明:例如某一个工程的目录结构如下(通过引用quartz依赖为例):
demo
--module1
----src
----pom.xml
--module2
----src
----pom.xml
--pom.xml
1. 在demo的pom.xml下配置对应的信息:其格式如下:
<?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>

    <groupId>demo</groupId>
    <artifactId>demo</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>quartz</groupId>
                <artifactId>quartz</artifactId>
                <version>1.6.0</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <modules>
        <module>module1</module>
        <module>module2</module>
    </modules>
</project>
2. module1与module2的pom中进行如下配置中分别加入以下依赖即可:
    <dependencies>
        <dependency>
            <groupId>quartz</groupId>
            <artifactId>quartz</artifactId>
        </dependency>
    </dependencies>
3. 如果要更改所依赖的版本信息:只需要更改父pom里面的配置即可。子目录下会默认查找。

总结:

 01. 使用dependencyManagement可以有效解决一个工程下多个模块引用包版本的一致性。
 02. 更新维护版本方便,不用维护子模块的版本信息,只需要更改主模块的版本信息即可。
 03. 减少各个子模块对版本选择的困扰,统一由父模块决定。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值