首页 > 解决方案 > 无法在插件之前设置变量{}

问题描述

我有这个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"。不幸的是,这是不可能的,因为我收到了这个错误:

在 plugins {} 块之前只允许 buildscript {} 和其他 plugins {} 脚本块

我也尝试从中删除版本,spring-boot-dependencies但出现此错误:

无法解决:org.springframework.boot:spring-boot-dependencies

有没有办法在plugin{}块之前声明一个变量,或者,从spring-boot-dependencies?

我正在使用 Gradle 5.4.1

标签: spring-bootgradlebuild.gradle

解决方案


您不能在插件块中使用变量。在此处检查“严格语法”部分:https ://docs.gradle.org/current/javadoc/org/gradle/plugin/use/PluginDependenciesSpec.html 也: https ://github.com/gradle/gradle/issues/ 3593

除了插件块之外,您不需要在其他任何地方定义 spring boot 版本,方法是应用 spring boot 插件(org.springframework.boot),然后在块之后应用(io.spring.dependency-management)。后者将负责根据引导插件版本解析正确的版本。

如果还不知道,我建议使用https://start.spring.io/来生成你的 spring boot 项目,因为它可以为你生成一个准备就绪的 gradle 项目。


推荐阅读