为了账号安全,请及时绑定邮箱和手机立即绑定

对于 Gradle Plugin(非核心插件),如何确定每个插件的版本?

对于 Gradle Plugin(非核心插件),如何确定每个插件的版本?

蝴蝶刀刀 2023-05-24 16:23:36
我开始使用 Gradle 构建我的 Spring boot 项目。我想使用新的插件块格式。我可以知道如何找出每个(非核心)插件的正确版本吗?要构建 spring boot 项目,我需要使用以下 2 个插件:org.springframework.boot io.spring.dependency-management最初,我使用旧版插件配置。我的代码如下所示:buildscript {    repositories {        mavenCentral()    }    dependencies {        classpath("org.springframework.boot:spring-boot-gradle-plugin:2.1.4.RELEASE")    }}apply plugin: 'org.springframework.boot'apply plugin: 'io.spring.dependency-management'在上面的配置中,我不需要提供插件'io.spring.dependency-management'的版本。但是如果我使用下面的新插件块。我的代码可能如下所示:plugins {  id 'org.springframework.boot' version '2.1.4.RELEASE'  id 'io.spring.dependency-management' version '1.0.8.RELEASE'}我必须提供插件“io.spring.dependency-management”的版本。我的问题是:我怎么知道应该使用哪个版本的“io.spring.dependency-management”?哪个版本与“org.springframework.boot”版本“2.1.4.RELEASE”运行良好或兼容?
查看完整描述

3 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

这些天我还在使用 SpringBoot 1.5.x,我发现当应用 'org.springframework.boot' 插件时,依赖管理插件会自动应用兼容版本。

对应代码列表截图如下:

//img1.sycdn.imooc.com//646dca2100012a8c12700718.jpg

查看完整回答
反对 回复 2023-05-24
?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

org.springframework.boot目前是 version 2.1.7.RELEASE;

该文档还显示了当前版本号。

io.spring.dependency-management可能是可选插件:

提供类似 Maven 的依赖管理功能的 Gradle 插件


查看完整回答
反对 回复 2023-05-24
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

最快的方法是只使用Spring Initializr并从那里选择版本值(以及“启动器”等)。

您可以使用start.spring.io上的在线版本,也可以使用curl直接从您的终端获取。


或者,您可以在文档中查看支持的版本列表。

要使用特定版本,只需应用以下 -

plugins {
  id 'org.springframework.boot' version '2.1.7.RELEASE' // release as of 08-Aug-2019
  }

引用Spring Boot Gradle 插件文档,

单独应用插件对项目几乎没有更改。相反,该插件会检测何时应用了某些其他插件并做出相应的反应。例如,当java应用插件时,会自动配置构建可执行 jar 的任务。

一个典型的 Spring Boot 项目将至少应用groovyjava, 或org.jetbrains.kotlin.jvm插件和插件。io.spring.dependency-management

对于一个java项目,你会做 -

apply plugin: 'java'
apply plugin: 'io.spring.dependency-management'

因此,要使用特定版本的 Spring 和 Spring Boot,您的build.gradle文件至少需要以下内容 -

plugins {

  id 'java'

  id 'org.springframework.boot' version '2.1.7.RELEASE'

}

apply plugin: 'io.spring.dependency-management'


//...

此外,如果您希望使用预发布/快照版本,则需要添加 Spring 的存储库 -


pluginManagement {

  repositories {

    maven { url 'https://repo.spring.io/milestone' }

    gradlePluginPortal()

  }

  resolutionStrategy {

    eachPlugin {

      if (requested.id.id == 'org.springframework.boot') {

        useModule("org.springframework.boot:spring-boot-gradle-plugin:${requested.version}")

      }

    }

  }

}

如果你使用Spring Initializr,所有这些都会为你处理!



查看完整回答
反对 回复 2023-05-24
  • 3 回答
  • 0 关注
  • 139 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信