问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Gradle工程中第三方Jar包依赖统一管理方案

创作时间:
作者:
@小白创作中心

Gradle工程中第三方Jar包依赖统一管理方案

引用
CSDN
1.
https://m.blog.csdn.net/u013467442/article/details/98597222

在Gradle工程中,如何统一管理各个子工程的第三方Jar包依赖是一个常见的问题。本文将介绍如何使用Spring提供的依赖管理插件来实现这一目标,包括具体的实现步骤和管理原则。

1. 背景

一个Gradle的工程中往往包含很多的子工程,每个子工程都有其自己的Jar包依赖。现实情况是各个子工程对jar包的引入都是比较随意的,版本号各式各样,如何统一各个子工程的版本号?统一管理第三方依赖?

版本号统一后,若某个组件有漏洞能够统一升级,能够直观的看到依赖情况,可以解决版本冲突等。

2. 实现

使用Spring提供的依赖管理插件:

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

  1. 顶层模块build.gradle添加依赖管理插件
plugins {
    id "io.spring.dependency-management" version "1.0.6.RELEASE"
}  
buildscript {
    repositories {
        maven { url 'https://repo.spring.io/plugins-snapshot' }
    }
    dependencies {
        classpath 'io.spring.gradle:dependency-management-plugin:1.0.7.BUILD-SNAPSHOT'
    }
}
apply plugin: "io.spring.dependency-management"  
  1. 顶层模块build.gradle添加所有管理依赖包
dependencyManagement {
    dependencies {
        dependency 'org.springframework:spring-core:4.0.3.RELEASE'
    }
}  
  1. 子模块build.gradle添加免版本号的包
dependencies {
    compile 'org.springframework:spring-core'
}  

3. 实例

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

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

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

4. 管理原则

  • 子模块添加依赖的包需要在顶层模块的依赖管理中声明

  • 如果子模块依赖的包在顶层模块中不存在,优先在顶层模块的依赖管理中声明

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

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号