首页 > 解决方案 > 从 3.1 迁移到 5.1 时出现 GRADLE 错误

问题描述

下面是我们的 gradle 构建脚本的片段

def binDir = file("bin")
def libDir = "WebContent/WEB-INF/lib"
def testReportDir = file('testReport')
def outputDir = file("output")
def envParam = "local"


repositories {
    mavenCentral()
}

sourceSets {
    project.webAppDirName = 'WebContent'

    if (project.hasProperty("env")) {
        envParam = env
        outputDir = file("output/$envParam")
    }

    main {
        java { srcDirs = ['src/main/java'] }
        resources { srcDirs = ['src/main/resources','config/' + envParam] }
        output.classesDir = binDir
    }

    test {
        java { srcDirs = ['src/main/java', 'src/test/java'] }
        resources { srcDirs = ['src/main/resources', 'src/test'] }
        output.classesDir = binDir
        compileClasspath = sourceSets.main.compileClasspath
        runtimeClasspath = output + compileClasspath
    }
}

它的作用是,从我们从 Java 8 构建的项目代码中构建一个 .ear 文件。这在使用 Gradle 3.1 时工作正常,但是当我们迁移到 5.1 时,当我们运行脚本时会出现以下错误。

"* 出了什么问题:评估根项目 'HKSLFDirectory' 时出现问题。

无法为 org.gradl e.api.internal.tasks.DefaultSourceSetOutput 类型的主要类设置未知属性 'classesDir'。”

标签: gradlebuild.gradlegradle-plugingradle-eclipse

解决方案


推荐阅读