当前位置: 首页 > 知识库问答 >
问题:

编译:找到gradle的错误版本

周峻
2023-03-14

我用的是Spring靴2。在多java项目中。

我尝试构建我的主库(还没有java文件)

apply plugin: 'java-library-distribution'


plugins {
    id 'org.springframework.boot' version '2.0.0.M7'
}

repositories {
    mavenCentral()
    maven { url "https://repo.spring.io/snapshot" }
    maven { url "https://repo.spring.io/milestone" }
}


dependencies {
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: '2.0.0.M7'
    compile group: 'org.postgresql', name: 'postgresql', version: '42.1.4'
        testCompile group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: '2.0.0.M7'
}

distributions {
    main{
        baseName = 'common-model'
    }
}

sourceCompatibility = 1.8

tasks.withType(JavaCompile) {
    options.compilerArgs = ["-Xlint:unchecked", "-Xlint:deprecation", "-parameters"]
}

在我的gradle/wrapper中,我有

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.2-bin.zip

我得到的错误

原因:org.gradle.api.internal.plugins.PluginApplicationException:无法应用插件[id'org.springframework.boot']

原因:org.gradle.api。GradleException:Spring Boot插件需要Gradle 4.0或更高版本。当前版本是Gradle 2.13

我没有找到任何2.13版本

在我的主项目中,我有

buildscript {
    ext {
        springBootVersion = '2.0.0.M7'
    }
    repositories {
        mavenCentral()
        maven { url "https://repo.spring.io/snapshot" }
        maven { url "https://repo.spring.io/milestone" }
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'application'
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

mainClassName = 'com.zirgon.EmailApplication'

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

tasks.withType(JavaCompile) {
    options.compilerArgs = ["-Xlint:unchecked", "-Xlint:deprecation", "-parameters"]
}

repositories {
    mavenCentral()
    maven { url "https://repo.spring.io/snapshot" }
    maven { url "https://repo.spring.io/milestone" }
}


dependencies {
    compile('org.springframework.boot:spring-boot-starter-data-jpa')

    compile project(':common-model')
    compile('org.springframework.boot:spring-boot-starter-mail')

    compile group: 'org.postgresql', name: 'postgresql', version: '42.1.4'
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

共有3个答案

张智
2023-03-14

我正在运行Eclipse 2018-2019/STS 4.0/Buildship Gradle 3.0。我通过配置Eclipse解决了这个问题

具体说来:

>

  • 日蚀

    Error: Spring Boot plugin requires Gradle 4.0 or later. The current version is Gradle 3.4.1
    

    在Eclipse中一切看起来都很好

    Directory of C:\Users\paulsm\.gradle\wrapper\dists
      06/11/2017  09:14 AM    <DIR>          gradle-3.3-all
      12/07/2018  06:23 PM    <DIR>          gradle-3.4.1-bin <-- Eclipse using this version
      11/01/2018  02:38 PM    <DIR>          gradle-4.1-all
      11/01/2018  02:50 PM    <DIR>          gradle-4.4-all
      12/07/2018  03:02 PM    <DIR>          gradle-4.8.1-bin
    

    日蚀

    重新运行日食

    这实际上忽略了项目的本地gradle包装器设置,并确保我将为所有Eclipse项目提供“正确的”设置。

    如果需要,我总是可以根据每个项目重新配置Gradle(恢复到3.4.1或更高版本)。

  • 奚晟
    2023-03-14

    这些是我为解决同一问题而采取的步骤。

      < li >我有一个带有build.gradle文件的新项目,但是在我的项目目录中没有gradle wrapper的副本。我认为这导致了我的IDE使用默认的gradle版本(IntelliJ ),这是一个旧版本。 < li>Gradle已经安装在我的系统上。 < li >在我的项目目录中运行“gradle wrapper”。 <李>已编辑。/gradle/wrapper/grad le-wrapper . properties并确保“distributionUrl”指向我想要的grad le版本(在我的例子中是4.6)。 < li >重新运行我的版本,然后下载并安装正确的版本。问题已解决。

    我希望这能帮助某人!

    我从另一个项目中复制了我的gradle包装文件夹,并进行了编辑。/gradle/wrapper/gradle-wrapper . properties

    张权
    2023-03-14

    您可能正在构建本地安装的 gradle 而不是使用包装器(即使用 gradle 构建而不是 ./gradlew 构建)来构建项目。

     类似资料:
    • 我的模块的分级文件:

    • 问题内容: 当代码到达递归调用增量时,我收到错误找不到符号,我不知道为什么?这是增量代码。任何帮助将不胜感激。 编辑:我真的是Java的新手,所以可以做的答案越基本越好。好的,所以我收到的错误是:BigNatural.java.35:找不到符号符号方法增量()位置:类java.lang.String temp.increment() 并在此处清除所有其他问题,是整个代码。 }公共类BigNatur

    • 我试图在这里运行一些来自ArcGIS github的示例代码。 当我在IntelliJ Community 2019中导入并尝试运行该项目时,我得到一个错误: 原因:org/openjfx/gradle/javafxplugin已由更新版的Java运行时(类文件版本55.0)编译,此版本的Java运行时仅识别52.0以下的类文件版本 同样的问题--但没有答案。 如何修复此错误?

    • 问题内容: 嘿,我刚开始我的第一本Java编程书籍,所以这应该很容易解决。弄乱我对条件句的新知识,发现标题错误。 这是代码: 当我尝试编译时: 问题答案: 错误消息告诉您变量“输入”在您的作用域中不存在。您可能想使用Scanner对象,但将其命名为“ x”,而不是“ input”。 应该修复它。

    • 我对这个问题感到非常困惑。我的gradle文件中有以下几行: 但是,当我构建时,会出现以下错误: 我对此感到困惑,因为编译器确实存在于谷歌的repo中:https://maven.google.com/web/index.html#androidx.compose.compiler:compiler 如果有必要,我可以发布更多的信息,但是我想保持简单。即使撰写设置完全错误,为什么它找不到POM文件

    • 我有这样的代码:获取一个文本文件,并将其转换为字符串,然后将字符串的部分分离为ArrayList的不同元素。 然而,当我试图编译它时,它给了我两个错误: javac Message.java Message.java:31:找不到符号symbol:变量输入位置:类消息while(input.HasNextLine()){^Message.java:32:找不到符号symbol:变量输入位置:类消息