gpt4 book ai didi

spring-boot - 我可以从我的 Gradle 平台定义中提取 Gradle org.springframework.boot 插件的版本吗

转载 作者:行者123 更新时间:2023-12-05 04:53:56 24 4
gpt4 key购买 nike

我非常喜欢 Gradle java 平台功能。我创建了自己的平台,将 spring-boot-dependencies 与其他东西捆绑在一起。现在我有(为清楚起见缩短):

plugins {
id 'org.springframework.boot' version '2.4.1'
}

dependencies {
implementation platform("my-group:my-base-bom:1.0.0")
}

而且我希望 spring boot 插件版本自动调整以匹配捆绑在我的平台中的 spring-boot-dependencies 版本(因此,如果平台转到 SB 2.5.0,那么插件会在没有的情况下执行相同的操作我需要更改 build.gradle。

如果不求助于外部变量,我不知道该怎么做。可能吗?

最佳答案

不可能。目前,有 (3) 种定义插件版本的方法:

直接在 Gradle 文件中:

// build.gradle.kts

plugins {
id("org.springframework.boot") version "2.4.1"
}

在插件依赖规范中:

// settings.gradle.kts

pluginManagement {
plugins {
id("org.springframework.boot") version "2.4.1"
}
}

或使用解析规则:

// settings.gradle.kts

pluginManagement {
resolutionStrategy {
eachPlugin {
if (requested.id.id == "org.springframework.boot") {
useVersion("2.4.1")
}
}
}
}

所有这些都不接受平台,只接受一个版本变量。

另一种我测试但最终没有奏效的方法是利用 buildscript:

// build.gradle.kts

buildscript {
dependencies {
classpath(platform("io.mateo.sample:platform-bom:1.0.0-SNAPSHOT"))
classpath("org.springframework.boot:spring-boot-gradle-plugin")
}
}

如开头所述,这是不可能的。

关于spring-boot - 我可以从我的 Gradle 平台定义中提取 Gradle org.springframework.boot 插件的版本吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65911981/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com