资讯专栏INFORMATION COLUMN

Gradle构建SpringBoot程序依赖管理之依赖版本自动控制

刘德刚 / 3559人阅读

摘要:前言体系中很多库之间相互依赖,但是由于版本之间差异比较大,我们需要比较精确的知道每个库的版本对应关系,不然很容易造成库与库之间对应不上,导致部分功能无效,甚至是异常情况。

前言:Spring体系中很多库之间相互依赖,但是由于版本之间差异比较大,我们需要比较精确的知道每个库的版本对应关系,不然很容易造成“库”与“库”之间对应不上,导致部分功能无效,甚至是异常情况。程序员排查起来一个头两个大,本篇文章将介绍如何利用gradle的插件来实现版本自动管理机制
1、依赖管理

SpringBoot构建系统文档

1、每个SpringBoot版本都提供了他能支持的依赖清单, 所以开发中我们不需要在配置文件中指定版本,SpringBoot会自动帮我们管理这些依赖,当我们升级SpringBoot的时候,SpringBoot所支持的依赖清单也会自动升级

2、我们在用SpringBoot管理依赖的时候,可以自定义版本号覆盖SpringBoot本身依赖的版本

3、springBoot支持的依赖清单包括Spring所有模块以及Springboot依赖的第三方库

4、每个发布的SpringBoot版本都与一个基础版本的SpringFramework有关联,官方是不建议指定版本的

上述的官方文档关于依赖管理的描述,总结下来就是:
在SpringBoot开发中,如果使用了依赖管理,那么Spring所有模块和SpringBoot依赖的第三方库我们不需要指定版本号

关于SpringBoot依赖的第三库在上述链接文档的这个部分(点击POM即可查看):

⚠️:此处提供 SpringBoot 2.1.6 依赖的三方库,其他版本自行找到指定版本的文档查看
2、gradle自动依赖
本文重点讲解gradle如何配置自动依赖,关于maven配置 点击这里查看

gradle配置点击这里


文档中描述:如果你想使用依赖关系管理,那么你需要保证你的gradle的版本大于4.4

我们通过实战方式,针对gradle配置自动依赖管理进行说明。

3、实战

build.gradle配置

方式一: 将SpringBoot插件应用于项目,依赖的插件将依赖清单加载到项目中,详细见配置中描述(建议直接使用此配置)

plugins {
    //id "java"
    //springboot插件,加入版本,那么Spring相关依赖,则自动加入(当使用其他插件的时候,还会自动加载插件所带的任务)
    id "org.springframework.boot" version "2.1.6.RELEASE"
    //第一种引入方式:写在此处,需要手动设置依赖管理的版本,否则无法执行(手动指定版本,好处是插件集中管理在plugins里面)
//    id "io.spring.dependency-management" version "1.0.8.RELEASE"
}
apply plugin: "java"
//第二种引入方式:应用依赖管理插件,自动给插件追加版本号(建议使用此配置)
apply plugin: "io.spring.dependency-management"

sourceCompatibility = 1.8

repositories {
    mavenLocal()
    maven{ url "http://maven.aliyun.com/nexus/content/groups/public/"}
}
//设置commons-pool2版本为"2.6.1",Spring依赖的是2.6.2
ext["commons-pool2.version"] = "2.6.1"
dependencies {
    //Spring模块
    compile("org.springframework.boot:spring-boot-starter-web")
    //Spring依赖的第三方模块(2.1.6依赖的是3.8.1)
    compile("org.apache.commons:commons-lang3")
    //Spring依赖的第三方模块(2.1.6依赖的是2.6.2)指定依赖版本为2.6.1
    compile("org.apache.commons:commons-pool2")
    //未被依赖的库需要手动:我司开源的 轻代码开发框架核心包,文末源码链接
    compile("com.diboot:diboot-core:2.0.0")
}

方式二:如果你仅仅是为了要依赖管理,而不需要插件的功能,你可以使用SpringBootPlugin提供的BOM_COORDINATES来进行依赖管理控制也可以达到效果

plugins {
    //依赖springboot插件,但是不应用
    id "org.springframework.boot" version "2.1.6.RELEASE" apply false
}
apply plugin: "java"
apply plugin: "io.spring.dependency-management"
//使用SpringBootPlugin提供的依赖插件
dependencyManagement {
    imports {
        mavenBom org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES
    }
}

sourceCompatibility = 1.8

repositories {
    mavenLocal()
    maven{ url "http://maven.aliyun.com/nexus/content/groups/public/"}
}
//设置commons-pool2版本为"2.6.1",Spring依赖的是2.6.2
ext["commons-pool2.version"] = "2.6.1"
dependencies {
    //Spring模块
    compile("org.springframework.boot:spring-boot-starter-web")
    //Spring依赖的第三方模块(2.1.6依赖的是3.8.1)
    compile("org.apache.commons:commons-lang3")
    //Spring依赖的第三方模块(2.1.6依赖的是2.6.2)指定依赖版本为2.6.1
    compile("org.apache.commons:commons-pool2")
    //未被依赖的库需要手动:我司开源的 轻代码开发框架核心包,文末源码链接
    compile("com.diboot:diboot-core:2.0.0")
}
4、总结

Spring相关模块,以及SpringBoot依赖的库可以通过依赖管理,自动获取最适合的库版本

未加入SpringBoot依赖清单的库,版本号不可省略,需要手动设置版本

版本依赖管理是开发中基础环节,使用版本管理有效减少版本依赖的校对,可以提高开发效率

diboot 简单高效的轻代码开发框架

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/75070.html

相关文章

  • Spring Boot 参考指南(安装 Spring Boot)

    摘要:安装可以与经典开发工具一起使用,也可以作为命令行工具安装。下面的示例展示了一个典型的文件安装命令行接口是一个命令行工具,你可以使用它来快速地实现的原型。 10. 安装Spring Boot Spring Boot可以与经典Java开发工具一起使用,也可以作为命令行工具安装。无论哪种方式,都需要Java SDK v1.8或更高版本。在开始之前,你应该使用以下命令检查当前的Java安装: ...

    Donald 评论0 收藏0
  • SpringBoot2.x【一】从零开始环境搭建

    摘要:一从零开始环境搭建对于之前的框架的使用,各种配置文件一旦出错之后错误难寻,这也是为什么被推上主流的原因,的配置简单,说分钟能从框架的搭建到运行也不为过现在更是微服务当道,所以在此总结下的一些知识,新手教程是一个基于和概念的项目自动化构建开源 SpringBoot2.x【一】从零开始环境搭建 对于之前的Spring框架的使用,各种配置文件XML、properties一旦出错之后错误难寻,...

    whjin 评论0 收藏0
  • 初探Kotlin+SpringBoot联合编程

    摘要:是一门最近比较流行的静态类型编程语言,而且和一样同属系。这个生成的构造函数是合成的,因此不能从或中直接调用,但可以使用反射调用。 showImg(https://segmentfault.com/img/remote/1460000012958496); Kotlin是一门最近比较流行的静态类型编程语言,而且和Groovy、Scala一样同属Java系。Kotlin具有的很多静态语言...

    xiaokai 评论0 收藏0
  • SpringBoot 实战 (一) | 如何使用 IDEA 构建 Spring Boot 工程

    摘要:它使用约定大于配置的理念让你的项目快速运行起来。如何使用构建工程第一步,当然是安装傻瓜式教程,请自行百度。包名,填完和后自动生成,默认即可。确认无误,点完成创建即可。 微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。 前言 新年立了个 flag,好好运营这个公众号。具体来说,就是每周要写两篇文章在这个号发表。刚立的 flag 可不能这么快打脸。下面送上本周第...

    Ryan_Li 评论0 收藏0
  • Maven管理SpringBoot Profile

    摘要:的配置文件默认为或,此外仅以配置为说明。的由的标签管理。管理由于构建是基于或,此处仅以说明。管理分五步,以下详细介绍。并且为表示,会将文件内容的替换为相应的变量如文件中的会替换为属性值。 1. Spring Profile Spring可使用Profile决定程序在不同环境下执行情况,包含配置、加载Bean、依赖等。 Spring的Profile一般项目包含:dev(开发), test...

    wenzi 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<