使用gradle构建错误

时间:2016-07-14 23:19:13

标签: java gradle

我是新手,我正在收到一个我不太懂的构建错误。我的项目只是一个带有目录结构的空壳,没有java源代码。这是我的root build.gradle文件

allprojects {
    //Put instructions for all projects
    task hello << { task -> println "I'm $task.project.name" }
}

subprojects {
    //Put instructions for each sub project
    apply plugin: "java"
    repositories {
        mavenCentral()
    }
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.+'
}

当我执行gradle build命令时,构建失败,因为它不知道带有此消息的testCompile方法:

  

无法在根项目中找到参数[{group = junit,name = junit,version = 4. +}]的方法testCompile()

我使用的是Gradle 2.5。

我知道这个方法是我加载的java插件的一部分。我没看到出了什么问题,你能帮忙吗? 谢谢!

3 个答案:

答案 0 :(得分:13)

如果有人因为 Could not find method testCompile() 错误来到这里,那么现在更有可能的原因是您需要用 testCompile 替换已弃用的 testImplementation。 见What's the difference between implementation and compile in Gradle?

答案 1 :(得分:5)

java插件仅适用于子项目,因此java插件添加的testCompile配置只能在子项目中使用。以下作品:

allprojects {
    //Put instructions for all projects
    task hello << { task -> println "I'm $task.project.name" }
}

subprojects {
    //Put instructions for each sub project
    apply plugin: "java"
    repositories {
        mavenCentral()
    }



    dependencies {
        testCompile group: 'junit', name: 'junit', version: '4.+'
    }
}

答案 2 :(得分:0)

它说它无法找到方法testCompile的参数检查你拼写正确,确保你拥有的“junit”的名称和组都是正确的,并且版本是正确的另一个修复此问题在子项目块中添加testCompile行。