Java 有没有一种方法可以使用gradle从文件夹中解压多个文件?

Java 有没有一种方法可以使用gradle从文件夹中解压多个文件?,java,gradle,build.gradle,Java,Gradle,Build.gradle,我正在尝试使用Gradle将多个.zip文件从一个文件夹解压缩到另一个文件夹。我可以使用Gradle解压文件,但我正在尝试找出如何解压目录中的所有.zip文件,而不必指定每个.zip文件的名称。我将提供一个我目前拥有的例子。下面的代码没有,我不确定我需要做什么更改才能达到预期的结果,即从一个目录解压所有文件,并将解压后的文件放到一个新目录中 task unzip(type: Copy) { from zipTree("$rootDir/destination_folder&qu

我正在尝试使用Gradle将多个
.zip
文件从一个文件夹解压缩到另一个文件夹。我可以使用Gradle解压文件,但我正在尝试找出如何解压目录中的所有
.zip
文件,而不必指定每个
.zip
文件的名称。我将提供一个我目前拥有的例子。下面的代码没有,我不确定我需要做什么更改才能达到预期的结果,即从一个目录解压所有文件,并将解压后的文件放到一个新目录中

task unzip(type: Copy) {
    from zipTree("$rootDir/destination_folder") {
        include "**/*.zip"
        into "$new_folder"
    }
}

方法
zipTree
解压单个
.zip
文件,并返回一个
FileTree
,其中包含
.zip
中的所有文件。在当前代码中,Gradle将
“$rootDir/destination_folder”
解释为
.zip
文件的路径。它可能找不到此
.zip
文件,但即使可以,它也会将包含的文件限制为与
“***.zip”
匹配的文件,因此只会复制
.zip>文件中的
.zip
文件

不要直接使用只能解析单个
.zip
文件的
zipTree
,您需要从
文件树开始收集文件夹中的
.zip
文件。然后,您可以对以下每个文件使用
zipTree

task unzip(type: Copy) {
    fileTree(dir: 'sourceDir', includes: ['**/*.zip']).each { zipFile ->
        from zipTree(zipFile)
    }
    into 'targetDir'
}