• <dependencyManagement>的作用


    1.简介

    dependencyManagement是一个 Maven 项目中的元素,它的作用是集中管理项目的依赖版本

    2.为什么要使用dependencyManagement?

    在 Maven 中,项目的依赖管理可以在 `元素中配置,但是这些依赖的版本可能会在多个子模块中重复配置,导致维护困难。dependencyManagement`元素的出现就是为了解决这个问题。

    3.使用dependencyManagement的好处

    使用 `dependencyManagement` 元素,你可以在 Maven 项目的顶层父模块中声明依赖及其对应的版本号,而这些依赖的具体声明则放在各个子模块中。这样一来,子模块无需指定版本号,而是继承自父模块的依赖管理。

    4.dependencyManagement的作用

    1. 集中管理依赖版本:通过在父模块中声明依赖及版本,可以避免子模块中重复声明相同的版本,简化了配置和维护过程。

    2. 强制统一依赖版本:所有依赖的版本由父模块统一管理,可以确保项目中各个模块使用相同的版本,减少潜在的冲突和兼容性问题。

    3. 管理依赖的传递性:`dependencyManagement` 中声明的依赖可以自动传递给子模块,无需在每个子模块中显式声明。

    5.示例

    下面是一个父项目的pom文件,这里拿出来给大家做个示例

    依赖部分内容

    1. <dependencyManagement>
    2. <dependencies>
    3. <dependency>
    4. <groupId>com.alibabagroupId>
    5. <artifactId>fastjsonartifactId>
    6. <version>${fastjson.version}version>
    7. dependency>
    8. <dependency>
    9. <groupId>cn.hutoolgroupId>
    10. <artifactId>hutool-allartifactId>
    11. <version>${hutool.version}version>
    12. dependency>
    13. <dependency>
    14. <groupId>eu.bitwalkergroupId>
    15. <artifactId>UserAgentUtilsartifactId>
    16. <version>${bitwalker.version}version>
    17. dependency>
    18. <dependency>
    19. <groupId>com.github.tobatogroupId>
    20. <artifactId>fastdfs-clientartifactId>
    21. <version>${fastdfs.version}version>
    22. dependency>
    23. <dependency>
    24. <groupId>org.apache.dubbogroupId>
    25. <artifactId>dubbo-spring-boot-starterartifactId>
    26. <version>${dubbo.version}version>
    27. dependency>
    28. <dependency>
    29. <groupId>org.apache.dubbogroupId>
    30. <artifactId>dubbo-dependencies-zookeeperartifactId>
    31. <version>${dubbo.version}version>
    32. <type>pomtype>
    33. <exclusions>
    34. <exclusion>
    35. <groupId>org.slf4jgroupId>
    36. <artifactId>slf4j-log4j12artifactId>
    37. exclusion>
    38. exclusions>
    39. dependency>
    40. <dependency>
    41. <groupId>org.apache.shirogroupId>
    42. <artifactId>shiro-spring-boot-starterartifactId>
    43. <version>${shiro-boot.version}version>
    44. dependency>
    45. <dependency>
    46. <groupId>org.crazycakegroupId>
    47. <artifactId>shiro-redisartifactId>
    48. <version>${shiro-redis.version}version>
    49. dependency>
    50. <dependency>
    51. <groupId>com.baomidougroupId>
    52. <artifactId>mybatis-plus-boot-starterartifactId>
    53. <version>${mybatis-plus.version}version>
    54. dependency>
    55. dependencies>
    56. dependencyManagement>

    所有内容

    1. "1.0" encoding="UTF-8"?>
    2. <project xmlns="http://maven.apache.org/POM/4.0.0"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    5. <parent>
    6. <groupId>org.springframework.bootgroupId>
    7. <artifactId>spring-boot-starter-parentartifactId>
    8. <version>2.2.6.RELEASEversion>
    9. <relativePath/>
    10. parent>
    11. <modelVersion>4.0.0modelVersion>
    12. <groupId>jkw.lifegroupId>
    13. <artifactId>java-medicalartifactId>
    14. <version>1.0-SNAPSHOTversion>
    15. <packaging>pompackaging>
    16. <description>分布式医疗管理系统description>
    17. <modules>
    18. <module>medical-configmodule>
    19. <module>medical-commonsmodule>
    20. <module>medical-doctormodule>
    21. <module>medical-erpmodule>
    22. <module>medical-smsmodule>
    23. <module>medical-statisticsmodule>
    24. <module>medical-systemmodule>
    25. modules>
    26. <properties>
    27. <java.version>1.8java.version>
    28. <fastjson.version>1.2.62fastjson.version>
    29. <hutool.version>5.1.1hutool.version>
    30. <bitwalker.version>1.19bitwalker.version>
    31. <mybatis-plus.version>3.3.1.tmpmybatis-plus.version>
    32. <shiro-boot.version>1.5.3shiro-boot.version>
    33. <shiro-redis.version>3.2.3shiro-redis.version>
    34. <fastdfs.version>1.26.7fastdfs.version>
    35. <dubbo.version>2.7.5dubbo.version>
    36. properties>
    37. <dependencyManagement>
    38. <dependencies>
    39. <dependency>
    40. <groupId>com.alibabagroupId>
    41. <artifactId>fastjsonartifactId>
    42. <version>${fastjson.version}version>
    43. dependency>
    44. <dependency>
    45. <groupId>cn.hutoolgroupId>
    46. <artifactId>hutool-allartifactId>
    47. <version>${hutool.version}version>
    48. dependency>
    49. <dependency>
    50. <groupId>eu.bitwalkergroupId>
    51. <artifactId>UserAgentUtilsartifactId>
    52. <version>${bitwalker.version}version>
    53. dependency>
    54. <dependency>
    55. <groupId>com.github.tobatogroupId>
    56. <artifactId>fastdfs-clientartifactId>
    57. <version>${fastdfs.version}version>
    58. dependency>
    59. <dependency>
    60. <groupId>org.apache.dubbogroupId>
    61. <artifactId>dubbo-spring-boot-starterartifactId>
    62. <version>${dubbo.version}version>
    63. dependency>
    64. <dependency>
    65. <groupId>org.apache.dubbogroupId>
    66. <artifactId>dubbo-dependencies-zookeeperartifactId>
    67. <version>${dubbo.version}version>
    68. <type>pomtype>
    69. <exclusions>
    70. <exclusion>
    71. <groupId>org.slf4jgroupId>
    72. <artifactId>slf4j-log4j12artifactId>
    73. exclusion>
    74. exclusions>
    75. dependency>
    76. <dependency>
    77. <groupId>org.apache.shirogroupId>
    78. <artifactId>shiro-spring-boot-starterartifactId>
    79. <version>${shiro-boot.version}version>
    80. dependency>
    81. <dependency>
    82. <groupId>org.crazycakegroupId>
    83. <artifactId>shiro-redisartifactId>
    84. <version>${shiro-redis.version}version>
    85. dependency>
    86. <dependency>
    87. <groupId>com.baomidougroupId>
    88. <artifactId>mybatis-plus-boot-starterartifactId>
    89. <version>${mybatis-plus.version}version>
    90. dependency>
    91. dependencies>
    92. dependencyManagement>
    93. project>

  • 相关阅读:
    前端性能优化方法与实战03 案例分析:移动端 M 站性能优化落地注意事项
    React的生命周期函数
    面试:正确率能很好的评估分类算法吗
    Termux安装node
    【蓝桥杯真题练习】STEMA科技素养练习题库 答案版015 持续更新中~
    软件工程复习
    CSS高度塌陷问题和外边距重叠的解决方案(clear方法)
    CICD:Circle CI 实现CICD
    数据库操作查看用户名和端口,以及如何Mac 版本idea 如何实现JDBC和MySql建立连接,以及如何操作数据以及连接时出现的常见错误
    丢失vcruntime140_1.dll怎么解决,vcruntime140_1.dll怎么安装?
  • 原文地址:https://blog.csdn.net/m0_63040701/article/details/133711537