如何排除Gradle';是从哪儿来的?

如何排除Gradle';是从哪儿来的?,gradle,groovy,Gradle,Groovy,我正在使用以下代码在我的jar中嵌入一些依赖项: jar { from configurations.embed.collect { it.isDirectory() ? it : zipTree(it) } } 但是,我的两个依赖项都包含一个LICENSE.txt,导致出现一个java.util.zip.ZipException:重复条目:LICENSE.txt。例外 如何修改代码以从jar中排除这两个LICENSE.txts?我尝试将一个排除“LICENSE.txt”添加到jar,

我正在使用以下代码在我的jar中嵌入一些依赖项:

jar {
    from configurations.embed.collect { it.isDirectory() ? it : zipTree(it) }
}
但是,我的两个依赖项都包含一个
LICENSE.txt
,导致出现一个
java.util.zip.ZipException:重复条目:LICENSE.txt
。例外


如何修改代码以从jar中排除这两个
LICENSE.txt
s?我尝试将一个
排除“LICENSE.txt”
添加到
jar
,但仍然导致了一个异常。

在搜索更多内容后,我找到了答案


为什么不直接使用configurations.embed中的
?我真的不明白
collect()
除了使构建更难理解之外,它为您做了什么。@PeterLedbrook包含jar依赖项的内容(
zipTree(it)
),而不是jar文件本身(
it
)。
jar {
    from(configurations.embed.collect { it.isDirectory() ? it : zipTree(it) }) {
        exclude "LICENSE.txt"
    }
}