gradle第三方Jar包依賴統一管理

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"

2.頂層模塊build.gradle添加所有管理依賴包

dependencyManagement {
    dependencies {
        dependency 'org.springframework:spring-core:4.0.3.RELEASE'
    }
}

3.子模塊build.gradle添加免版本號的包

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

3. 實例

1.頂層模塊build.gradle添加依賴管理插件
在這裏插入圖片描述
在這裏插入圖片描述
2.頂層模塊build.gradle添加所有管理依賴包
在這裏插入圖片描述
3.子模塊build.gradle添加免版本號的包
在這裏插入圖片描述

4.管理原則

  • 子模塊添加依賴的包需要在頂層模塊的依賴管理中聲明
  • 如果子模塊依賴的包在頂層模塊中不存在,優先在頂層模塊的依賴管理中聲明
  • 如果子模塊依賴的包版本與頂層模塊依賴管理中聲明版本不一致,優先升級頂層模塊的依賴管理中聲明的版本,其次是在子模塊依賴中覆蓋包的版本
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章