gradle第三方Jar包依赖统一管理

朱雀 2021-11-11 20:46 930阅读 0赞

1. 背景

一个gradle的工程中往往包含很多的子工程,每个子工程都有其自己的Jar包依赖。现实情况是各个子工程对jar包的引入都是比较随意的,版本号各式各样,如何统一各个子工程的版本号?统一管理第三方依赖?
版本号统一后,若某个组件有漏洞能够统一升级,能够直观的看到依赖情况,可以解决版本冲突等。

2.实现

使用spring提供的依赖管理插件:
依赖管理插件和配置方法:https://docs.spring.io/dependency-management-plugin/docs/1.0.8.RELEASE/reference/html/

1.顶层模块build.gradle添加依赖管理插件

  1. plugins {
  2. id "io.spring.dependency-management" version "1.0.6.RELEASE"
  3. }
  4. buildscript {
  5. repositories {
  6. maven { url 'https://repo.spring.io/plugins-snapshot' }
  7. }
  8. dependencies {
  9. classpath 'io.spring.gradle:dependency-management-plugin:1.0.7.BUILD-SNAPSHOT'
  10. }
  11. }
  12. apply plugin: "io.spring.dependency-management"

2.顶层模块build.gradle添加所有管理依赖包

  1. dependencyManagement {
  2. dependencies {
  3. dependency 'org.springframework:spring-core:4.0.3.RELEASE'
  4. }
  5. }

3.子模块build.gradle添加免版本号的包

  1. dependencies {
  2. compile 'org.springframework:spring-core'
  3. }

3. 实例

1.顶层模块build.gradle添加依赖管理插件
在这里插入图片描述
在这里插入图片描述
2.顶层模块build.gradle添加所有管理依赖包
在这里插入图片描述
3.子模块build.gradle添加免版本号的包
在这里插入图片描述

4.管理原则

  • 子模块添加依赖的包需要在顶层模块的依赖管理中声明
  • 如果子模块依赖的包在顶层模块中不存在,优先在顶层模块的依赖管理中声明
  • 如果子模块依赖的包版本与顶层模块依赖管理中声明版本不一致,优先升级顶层模块的依赖管理中声明的版本,其次是在子模块依赖中覆盖包的版本

发表评论

表情:
评论列表 (有 0 条评论,930人围观)

还没有评论,来说两句吧...

相关阅读

    相关 gradleJar依赖统一管理

    1. 背景 一个gradle的工程中往往包含很多的子工程,每个子工程都有其自己的Jar包依赖。现实情况是各个子工程对jar包的引入都是比较随意的,版本号各式各样,如何统一