Gradle Error configurations.add String无法强制转换为Configuration

时间:2014-09-10 17:00:51

标签: gradle

我的gradle文件说

configurations.add "externalDeps"

如果我用1.4运行gradle,我没有问题。

如果我使用2.0运行gradle,我会收到以下错误:

Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to org.gradle.api.artifacts.Configuration
    at org.gradle.api.artifacts.Configuration$Namer.determineName(Configuration.java:87)
    at org.gradle.api.internal.DefaultNamedDomainObjectCollection.add(DefaultNamedDomainObjectCollection.java:70)
    at org.gradle.api.NamedDomainObjectCollection$add$0.call(Unknown Source)
    at build_3p9qdtholqj79o8rnevdt3d7t0.run(D:\Code\trunk\projects\build.gradle:6)
    at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:52)
    ... 82 more

导致此错误的更改内容是什么?

我现在该如何定义?

1 个答案:

答案 0 :(得分:2)

The manual说明了如何创建配置:

configurations {
    externalDeps
}

DSL documentation表明配置容器有一个方法create():

configurations.create('externalDeps')

该类的API doc表明其所有add()方法都将Configuration作为参数,因此得到了异常。