【问题标题】:Gradle DSL method not found: 'exclude()'找不到 Gradle DSL 方法:'exclude()'
【发布时间】:2017-06-04 18:47:24
【问题描述】:

我在 Android Studio 中工作,当我在 build.gradle 文件中添加该行时

dependencies {
    compile files('libs/poi-ooxml-schemas-3.12-20150511-a.jar'){
        exclude group: 'stax', module: 'stax-api'
    }
}

我发现了错误:

未找到 Gradle DSL 方法:'exclude()'

错误的原因是什么?

【问题讨论】:

  • 如果你只是拉入一个文件,不要认为 exclude 可以使用。文件没有依赖关系
  • @tim_yates,谢谢。也许你是对的。

标签: android groovy android-gradle-plugin


【解决方案1】:

您定义依赖项的方式是将闭包应用到files 而不是compile

files('libs/poi-ooxml-schemas-3.12-20150511-a.jar'){
    exclude group: 'stax', module: 'stax-api'
}

相反,您必须确保将闭包直接应用于compile

compile(files('libs/poi-ooxml-schemas-3.12-20150511-a.jar')){
    exclude group: 'stax', module: 'stax-api'
}

但我怀疑这根本没有必要。组和模块是 Maven 系统的一部分,JAR 文件本身没有要排除的信息。

【讨论】:

  • 谢谢。我试过这种方式,但它不起作用。也许你说得对,JAR 文件不能排除信息。但是我在 Internet 上找到了一些开发人员使用此方案的示例。我不确定它是否有效。
  • 您想从 JAR 中排除哪些部分?
  • 我无法混淆 Apache Poi lib(stackoverflow.com/questions/44323942/… - 我的问题),我看到建议像我上面所做的那样排除模块 stax api,但我发现了关于 DSL 方法的错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-16
  • 1970-01-01
  • 2019-10-21
  • 2015-11-19
  • 2017-10-27
  • 2015-03-29
相关资源
最近更新 更多