Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java gradle未能应用插件[id';org.springframework.boot';]_Java_Spring Boot_Ubuntu_Gradle - Fatal编程技术网

Java gradle未能应用插件[id';org.springframework.boot';]

Java gradle未能应用插件[id';org.springframework.boot';],java,spring-boot,ubuntu,gradle,Java,Spring Boot,Ubuntu,Gradle,我正在尝试运行SpringBoot项目。我和格雷德尔有些问题 gradle构建工作正常,但我无法运行gradlew 无法运行命令: /gradlew-build&&java-jar-build/libs/gs-spring-boot-docker-0.1.0.jar 以下是错误: Failed to apply plugin [id 'org.springframework.boot'] Spring Boot plugin requires Gradle 4.10 or later. The

我正在尝试运行SpringBoot项目。我和格雷德尔有些问题

gradle构建工作正常,但我无法运行gradlew

无法运行命令:
/gradlew-build&&java-jar-build/libs/gs-spring-boot-docker-0.1.0.jar

以下是错误:

Failed to apply plugin [id 'org.springframework.boot']
Spring Boot plugin requires Gradle 4.10 or later. The current version is Gradle 4.9
我的gradle版本6.0

我的gradle文件

buildscript {
    repositories {
        maven {
            url "https://plugins.gradle.org/m2/"
        }
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:2.2.4.RELEASE")
        classpath('com.google.cloud.tools.jib:com.google.cloud.tools.jib.gradle.plugin:1.8.0')
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'com.google.cloud.tools.jib'


bootJar {
    baseName = 'gs-spring-boot-docker'
    version =  '0.1.0'
}

repositories {
    mavenCentral()
}

sourceCompatibility = 1.8
targetCompatibility = 1.8

dependencies {
    compile("org.springframework.boot:spring-boot-starter-web")
    implementation('org.springframework.boot:spring-boot-starter-data-jpa')
    implementation('org.springframework.boot:spring-boot-starter-web')
    implementation('org.postgresql:postgresql')
    testCompile("org.springframework.boot:spring-boot-starter-test")
}

gradle构建工作正常,没有错误

Gradle包装的全部要点是在项目中使用Gradle的固定版本。这可以确保您不会意外地使用项目支持的不兼容版本。另一个好处是,如果您还没有正确的版本,它会自动下载

当您键入
gradle
(不带“w”)时,您正在调用放置在路径上的手动下载的发行版。这将完全跳过包装器部分。在您的情况下,您显然下载了版本6并更新了项目以使用该版本

但是,您还没有更新包装器脚本,这是您应该做的。如果查看
gradle/wrapper/gradle wrapper.properties
,您应该会看到它被设置为4.9,这与您的项目不再兼容

要更新它,需要运行以下命令两次:

gradlew包装器--gradle版本6.1.1--分发类型all
(假设您想要的是6.1.1版本,这是本文撰写时的最新版本。)

第一次运行它时,它基本上只需更改
gradle wrapper.properties
中的版本(例如,更改为6.1.1)。如果由于包装器与项目相比太旧而失败,只需使用文本编辑器手动更改文件即可

第二次运行时,Gradle将使用该新版本(例如6.1.1)启动,如果需要,还将更新包装器脚本本身

另外,如果您想在开发过程中启动Spring Boot应用程序,只需运行
gradlew bootRun
。无需构建jar并手动调用java


此外,在依赖项中使用
实现
,而不是
编译
。前者已被弃用(包括
testCompile
)。

项目是否使用gradle包装器?如果是这样的话:是不是gradle包装器使用了gradle版本4.9?@Turing85我不知道如何检查它。我尝试了
$gradle wrapper--version
它在项目的根目录中显示gradle 6Go,执行
/gradlew--version
(或者在Windows上执行
gradlew.bat--version
)。