dependencyManagement是一个 Maven 项目中的元素,它的作用是集中管理项目的依赖版本
在 Maven 中,项目的依赖管理可以在
使用 `dependencyManagement` 元素,你可以在 Maven 项目的顶层父模块中声明依赖及其对应的版本号,而这些依赖的具体声明则放在各个子模块中。这样一来,子模块无需指定版本号,而是继承自父模块的依赖管理。
1. 集中管理依赖版本:通过在父模块中声明依赖及版本,可以避免子模块中重复声明相同的版本,简化了配置和维护过程。
2. 强制统一依赖版本:所有依赖的版本由父模块统一管理,可以确保项目中各个模块使用相同的版本,减少潜在的冲突和兼容性问题。
3. 管理依赖的传递性:`dependencyManagement` 中声明的依赖可以自动传递给子模块,无需在每个子模块中显式声明。
下面是一个父项目的pom文件,这里拿出来给大家做个示例
依赖部分内容
- <dependencyManagement>
- <dependencies>
-
- <dependency>
- <groupId>com.alibabagroupId>
- <artifactId>fastjsonartifactId>
- <version>${fastjson.version}version>
- dependency>
-
- <dependency>
- <groupId>cn.hutoolgroupId>
- <artifactId>hutool-allartifactId>
- <version>${hutool.version}version>
- dependency>
-
- <dependency>
- <groupId>eu.bitwalkergroupId>
- <artifactId>UserAgentUtilsartifactId>
- <version>${bitwalker.version}version>
- dependency>
-
-
- <dependency>
- <groupId>com.github.tobatogroupId>
- <artifactId>fastdfs-clientartifactId>
- <version>${fastdfs.version}version>
- dependency>
-
-
- <dependency>
- <groupId>org.apache.dubbogroupId>
- <artifactId>dubbo-spring-boot-starterartifactId>
- <version>${dubbo.version}version>
- dependency>
-
- <dependency>
- <groupId>org.apache.dubbogroupId>
- <artifactId>dubbo-dependencies-zookeeperartifactId>
- <version>${dubbo.version}version>
- <type>pomtype>
- <exclusions>
- <exclusion>
- <groupId>org.slf4jgroupId>
- <artifactId>slf4j-log4j12artifactId>
- exclusion>
- exclusions>
- dependency>
-
-
- <dependency>
- <groupId>org.apache.shirogroupId>
- <artifactId>shiro-spring-boot-starterartifactId>
- <version>${shiro-boot.version}version>
- dependency>
-
- <dependency>
- <groupId>org.crazycakegroupId>
- <artifactId>shiro-redisartifactId>
- <version>${shiro-redis.version}version>
- dependency>
-
-
- <dependency>
- <groupId>com.baomidougroupId>
- <artifactId>mybatis-plus-boot-starterartifactId>
- <version>${mybatis-plus.version}version>
- dependency>
- dependencies>
- dependencyManagement>
所有内容
- "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">
- <parent>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-parentartifactId>
- <version>2.2.6.RELEASEversion>
- <relativePath/>
- parent>
-
- <modelVersion>4.0.0modelVersion>
-
- <groupId>jkw.lifegroupId>
- <artifactId>java-medicalartifactId>
- <version>1.0-SNAPSHOTversion>
- <packaging>pompackaging>
- <description>分布式医疗管理系统description>
-
- <modules>
- <module>medical-configmodule>
- <module>medical-commonsmodule>
- <module>medical-doctormodule>
- <module>medical-erpmodule>
- <module>medical-smsmodule>
- <module>medical-statisticsmodule>
- <module>medical-systemmodule>
- modules>
-
-
- <properties>
- <java.version>1.8java.version>
-
- <fastjson.version>1.2.62fastjson.version>
- <hutool.version>5.1.1hutool.version>
- <bitwalker.version>1.19bitwalker.version>
-
- <mybatis-plus.version>3.3.1.tmpmybatis-plus.version>
- <shiro-boot.version>1.5.3shiro-boot.version>
- <shiro-redis.version>3.2.3shiro-redis.version>
-
- <fastdfs.version>1.26.7fastdfs.version>
- <dubbo.version>2.7.5dubbo.version>
- properties>
-
-
- <dependencyManagement>
- <dependencies>
-
- <dependency>
- <groupId>com.alibabagroupId>
- <artifactId>fastjsonartifactId>
- <version>${fastjson.version}version>
- dependency>
-
- <dependency>
- <groupId>cn.hutoolgroupId>
- <artifactId>hutool-allartifactId>
- <version>${hutool.version}version>
- dependency>
-
- <dependency>
- <groupId>eu.bitwalkergroupId>
- <artifactId>UserAgentUtilsartifactId>
- <version>${bitwalker.version}version>
- dependency>
-
-
- <dependency>
- <groupId>com.github.tobatogroupId>
- <artifactId>fastdfs-clientartifactId>
- <version>${fastdfs.version}version>
- dependency>
-
-
- <dependency>
- <groupId>org.apache.dubbogroupId>
- <artifactId>dubbo-spring-boot-starterartifactId>
- <version>${dubbo.version}version>
- dependency>
-
- <dependency>
- <groupId>org.apache.dubbogroupId>
- <artifactId>dubbo-dependencies-zookeeperartifactId>
- <version>${dubbo.version}version>
- <type>pomtype>
- <exclusions>
- <exclusion>
- <groupId>org.slf4jgroupId>
- <artifactId>slf4j-log4j12artifactId>
- exclusion>
- exclusions>
- dependency>
-
-
- <dependency>
- <groupId>org.apache.shirogroupId>
- <artifactId>shiro-spring-boot-starterartifactId>
- <version>${shiro-boot.version}version>
- dependency>
-
- <dependency>
- <groupId>org.crazycakegroupId>
- <artifactId>shiro-redisartifactId>
- <version>${shiro-redis.version}version>
- dependency>
-
-
- <dependency>
- <groupId>com.baomidougroupId>
- <artifactId>mybatis-plus-boot-starterartifactId>
- <version>${mybatis-plus.version}version>
- dependency>
- dependencies>
- dependencyManagement>
-
-
- project>