maven之dependencyManagement

简介: 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. 减少各个子模块对版本选择的困扰,统一由父模块决定。



目录
相关文章
|
5月前
|
Java 项目管理 Maven
Java一分钟之-Maven profiles与dependencyManagement
【6月更文挑战第5天】本文探讨了Maven的profiles和dependencyManagement特性在Java项目管理中的应用,包括基本概念和常见问题。Profiles用于根据不同环境激活配置,易错点在于忘记激活,应通过命令行或设置默认profile来避免。dependencyManagement集中管理依赖版本,过度依赖会导致子模块灵活性降低,应合理使用。结合两者,可在不同环境中控制依赖版本,提高项目配置效率。
117 8
|
Java easyexcel Maven
maven中dependencyManagement与dependencies的区别与联系
maven中dependencyManagement与dependencies的区别与联系
385 0
|
Java Maven
Maven中dependencyManagement标签详解
Maven中dependencyManagement标签详解
302 0
|
Java Maven 容器
Maven中的dependencyManagement
Maven中的dependencyManagement
195 0
Maven中的dependencyManagement
|
Java Maven 容器
Maven中的dependencyManagement
Maven中的dependencyManagement
208 0
|
Java Maven
SpringBoot实用小知识之Maven中dependencys和dependencymanagement区别
      利用pom管理引用包时,如果是单项目的话就直接在dependencies引用了,若有一个大工程项目里面包含多个子模块,则为了所有项目模块包的版本统一和好管理,则需要用到dependencyManagement,但两者使用场景有所区别。
1626 0
|
Java Maven
Maven中的dependencyManagement 意义
1.在Maven中dependencyManagement的作用其实相当于一个对所依赖jar包进行版本管理的管理器。   2.pom.xml文件中,jar的版本判断的两种途径 1:如果dependencies里的dependency自己没有声明version元素,那么maven就 会倒depende...
1918 0
|
Java Maven 容器
Maven实战(六)--- dependencies与dependencyManagement的区别
     在上一个项目中遇到一些jar包冲突的问题,之后还有很多人分不清楚dependencies与dependencyManagement的区别,本篇文章将这些区别总结下来。   1、DepencyManagement应用场景          当我们的项目模块很多的时候,我们使用Maven管理项目非常方便,帮助我们管理构建、文档、报告、依赖、scms、发布、分发的方法。
1494 0
|
5天前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
43 8