gradle - Shadow Project Gradle文件无法编译

标签 gradle

使用影子插件时,我尝试执行Gradle代码:

import com.github.jengelman.gradle.plugins.shadow.transformers.AppendingTransformer

shadow {
    transformer(AppendingTransformer) {
        resource = 'META-INF/spring.handlers'
    }
    transformer(AppendingTransformer) {
        resource = 'META-INF/spring.schemas'
    }
}

结果,我收到了以下错误:
Could not find method transformer() for arguments [class com.github.jengelman.gradle.plugins.shadow.transformers.AppendingTransformer, build_bdpgdpxcevq273h2385je07ue$_run_closure2_closure5@1452aad2] on project ':ProjectX'.

我想念什么吗?应该在哪里定义“变压器”功能?

最佳答案

您的问题缺少一些信息,但是从您粘贴的错误来看,影子扩展似乎并不真正包含转换器方法(因此尝试在所有者对象-项目上找到它)。对我来说,这意味着您可能正在使用影子插件的最新版本(最新的1.2.2版本)之一,同时尝试以某种旧的不受支持的方式对其进行配置。

在较新的版本中,您应该通过

shadowJar {
    transform(AppendingTransformer) {
          resource = 'NOTICE'
    }
}

配置关闭而不是旧的表示法
shadow {}

请参阅新的自述文件here和旧的自述文件here

关于gradle - Shadow Project Gradle文件无法编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32422839/

相关文章:

spring-mvc - SpringBoot1.4-我运行IntegrationTest时无法找到@SpringBootConfiguration,在测试错误中使用@ ContextConfiguration/@SpringBootTest(class)

gradle - 使用ML-Gradle禁用/暂停数据库复制

android - 使用 Android Studio 0.8.9 生成未签名的 APK

gradle - 修改build.gradle以使其具有特定的 flavor

android - AndroidError:程序类型已存在:当我尝试从Android Studio生成Signed APK时,android_serialport_api.SerialPort

android - 建立Android Studio项目时发生逾时错误

gradle - 嵌套的gradle构建

gradle - 设置多项目 Gradle 构建

android - Flutter 中的 BuildConfig(或替代方案)

unit-testing - SugarORM + Android Studio +单元测试