我有这个build.gradle
plugins {
id 'org.springframework.boot' version '2.1.6.RELEASE'
id 'java'
id 'eclipse-wtp'
}
[...]
dependencies {
compileOnly group: 'org.springframework.boot', name: 'spring-boot-dependencies', version: '2.1.6.RELEASE', ext: 'pom'
[...]
我将指定一个变量springBootVersion = "2.1.6.RELEASE"
。不幸的是,这是不可能的,因为我收到此错误:
仅允许buildscript {}和其他插件{}脚本块 在插件{}阻止之前
我也尝试从spring-boot-dependencies
中删除该版本,但出现此错误:
无法解决:org.springframework.boot:spring-boot-dependencies
是否没有办法在plugin{}
块之前声明变量,或者从spring-boot-dependencies
中删除版本?
我正在使用Gradle 5.4.1
答案 0 :(得分:0)
也许
plugins {
ext.springBootVersion = '2.1.6.RELEASE'
id 'org.springframework.boot' version springBootVersion
...
}
[...]
dependencies {
compileOnly "org.springframework.boot:spring-boot-dependencies:${plugins.springBootVersion}@pom"
答案 1 :(得分:0)
您不能在plugins块中使用变量。在此处检查“严格语法”部分:https://docs.gradle.org/current/javadoc/org/gradle/plugin/use/PluginDependenciesSpec.html 也: https://github.com/gradle/gradle/issues/3593
除了在plugins块中之外,您不需要在其他任何地方定义spring boot版本,只需应用spring boot插件(org.springframework.boot),然后在该块之后应用(io.spring.dependency-management) 。然后,后者将根据启动插件版本来解决正确的版本。
如果还不知道,我建议使用https://start.spring.io/来生成您的spring boot项目,因为它可以为您生成一个随时可用的gradle项目。