Spring Boot Sping Boot 插件需要Gradle 4.10或更高版本,当前版本为Gradle 4.1

fkaflof6  于 2023-05-17  发布在  Spring
关注(0)|答案(5)|浏览(275)

我有一个Spring Gradle项目。我正在尝试使用gradle build命令进行构建。但出现以下错误:

* Where:
Build file 'F:\MyProjectName\build.gradle' line: 2

* What went wrong:
An exception occurred applying plugin request [id: 'org.springframework.boot', version: '2.2.2.RELEASE']
> Failed to apply plugin [id 'org.springframework.boot']
   > Spring Boot plugin requires Gradle 4.10 or later. The current version is Gradle 4.1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s

但是我已经在使用我正在使用gradle-5.6.4。也尝试了最新的gradle-6.0.1-bin,但得到相同的错误。

gradle-wrapper.properties

#Wed Dec 04 12:51:57 IST 2019
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME

build.gradle

plugins {
    id 'org.springframework.boot' version '2.2.1.RELEASE'
    id 'io.spring.dependency-management' version '1.0.8.RELEASE'
    id 'java'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-mongodb-reactive'
    implementation 'org.springframework.boot:spring-boot-starter-security'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'io.jsonwebtoken:jjwt:0.9.1'
    implementation 'org.springframework.security:spring-security-jwt:1.0.7.RELEASE'
    implementation 'org.springframework.security.oauth:spring-security-oauth2:2.4.0.RELEASE'
    implementation 'de.mkammerer:argon2-jvm:2.6'

    compileOnly 'org.projectlombok:lombok:1.18.10'
    annotationProcessor 'org.projectlombok:lombok:1.18.10'

    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }
    testImplementation 'io.projectreactor:reactor-test'
    testImplementation 'org.springframework.security:spring-security-test'
}

jar {
    enabled true
}

test {
    useJUnitPlatform()
}

如何解决这个问题?先谢谢你了。

i7uq4tfw

i7uq4tfw1#

1.打开文件gradle-wrapper.properties
1.您会发现distributionUrl的值类似于distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-bin.zip
1.将gradle版本更改为4.10以上,因为我有5.6.2
注意,这将升级本地范围的gradle版本。(与系统范围的gradle安装相反)您将不得不使用gradlew(rapper)来调用。
例如(基于Linux)
./gradlew build
我猜在windows上也是一样的

.\gradlew.bat build

您不能使用

gradle build

因为这将调用机器范围的版本(可能是旧版本)
完整的本地范围输出如下:

./gradlew  build

Welcome to Gradle 5.6.2!

Here are the highlights of this release:
 - Incremental Groovy compilation
 - Groovy compile avoidance
 - Test fixtures for Java projects
 - Manage plugin versions via settings script
snz8szmq

snz8szmq2#

如果您使用的是gradle build命令,那么您没有使用 Package 器,因此没有使用 Package 器属性中配置的gradle版本。您正在使用计算机上安装的全局gradle版本。
若要使用gradle Package 器,请使用

./gradlew build

或者,在Windows上

.\gradlew.bat build

在项目根文件夹中。
Documentation

sauutmhj

sauutmhj3#

在我的例子中,原因是一个旧的settings.gradle驻留在项目的完全不相关的父节点中(!)目录。

busg9geu

busg9geu4#

在我的例子中,同一个工作区中的其他一些项目“.settings/org.eclipse.buildship.core.prefs”文件具有下面的属性

gradle.user.home=C\:/Gradle/gradle-6.7/bin(old version)

改为:

gradle.user.home=C\:/Gradle/gradle-7.3.2/bin(new version)
llmtgqce

llmtgqce5#

Gradle 5.6.3支持Sping Boot 版本至2.4.13

Gradle*Sping Boot *(支持最大版本)5.6.3 2.4.13

相关问题