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

 更新时间:2025年04月30日 14:19:23   作者:jieniyimiao  
这篇文章主要介绍了gradle第三方Jar包依赖统一管理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

背景

一个gradle的工程中往往包含很多的子工程,每个子工程都有其自己的Jar包依赖。

现实情况是各个子工程对jar包的引入都是比较随意的,版本号各式各样,如何统一各个子工程的版本号?统一管理第三方依赖?

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

实现

使用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'
}

实例

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

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

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

管理原则

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java实现简单的迷宫游戏详解

    Java实现简单的迷宫游戏详解

    迷宫游戏作为经典的小游戏,一直深受大家的喜爱。本文小编将为大家详细介绍一下如何用Java实现一个简单的迷宫小游戏,感兴趣的可以动手试一试
    2022-02-02
  • Java IO流之Properties类的使用

    Java IO流之Properties类的使用

    这篇文章主要介绍了Java IO流之Properties类的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • 浅谈一下Java为什么不能使用字符流读取非文本的二进制文件

    浅谈一下Java为什么不能使用字符流读取非文本的二进制文件

    这篇文章主要介绍了浅谈一下为什么不能使用字符流读取非文本的二进制文件,刚学Java的IO流部分时,书上说只能使用字节流去读取图片、视频等非文本二进制文件,不能使用字符流,否则文件会损坏,需要的朋友可以参考下
    2023-04-04
  • SSH框架网上商城项目第14战之商城首页UI的设计

    SSH框架网上商城项目第14战之商城首页UI的设计

    这篇文章主要为大家详细介绍了SSH框架网上商城项目第14战之商城首页UI的设计,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • Java线程池大小的设置方法实例

    Java线程池大小的设置方法实例

    线程池的设置是有方法的,不是凭借简单的估算来决定的,这篇文章主要给大家介绍了关于Java线程池大小的设置方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-08-08
  • Java多线程之JUC(java.util.concurrent)的常见类(多线程编程常用类)

    Java多线程之JUC(java.util.concurrent)的常见类(多线程编程常用类)

    这篇文章主要给大家介绍了关于Java多线程之JUC(java.util.concurrent)的常见类(多线程编程常用类)的相关资料,Java中的JUC(java.util.concurrent)包提供了一些并发编程中常用的类,这些类可以帮助我们更方便地实现多线程编程,需要的朋友可以参考下
    2024-02-02
  • 详解MyBatis的SqlSession获取流程

    详解MyBatis的SqlSession获取流程

    SqlSession的获取是通过SqlSessionFactory的openSession() 方法,那么具体的获取流程是什么,所以本文就给大家详细讲解一下MyBatis的SqlSession获取流程,需要的朋友可以参考下
    2023-07-07
  • Java设计模式之建造者模式的示例详解

    Java设计模式之建造者模式的示例详解

    建造者模式,是一种对象构建模式 它可以将复杂对象的建造过程抽象出来,使这个抽象过程的不同实现方法可以构造出不同表现的对象。本文将通过示例讲解建造者模式,需要的可以参考一下
    2022-10-10
  • Java web中 war exploded 的解决方案

    Java web中 war exploded 的解决方案

    这篇文章主要介绍了Java web中 war exploded 的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Java将Word、Excel、PDF和PPT转换为OFD格式的详细步骤

    Java将Word、Excel、PDF和PPT转换为OFD格式的详细步骤

    OFD是一种依据中国国家标准制定的电子文档格式,广泛应用于政务办公、金融服务、法律事务及档案管理等领域,本文将介绍如何使用 Java 将 Word、Excel、PDF 和 PowerPoint 文档转换为 OFD 格式,含详细实现步骤介绍与代码示例,需要的朋友可以参考下
    2025-09-09

最新评论