阴影项目gradle文件没有编译

时间:2015-09-06 11:03:55

标签: gradle

使用shadow插件时,我尝试执行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 个答案:

答案 0 :(得分:1)

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

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

配置插件
int sd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
struct sockaddr_in sin = {};
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = inet_addr("10.10.10.254");
sin.sin_port = 0;
bind(sd, (struct sockaddr *)&sin, sizeof(sin));

配置关闭而不是旧的通知

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

请参阅here新的README文件,并here旧的自述文件。