如何在 gradle zipTree 中递归复制文件夹内容?

How to copy folder contents recursively in gradle zipTree?

copy {
   from zipTree(rootDir.getPath() + "/archive.war")
   include 'dirAbc/subdir/'

   into 'src/dirEfg/subdir/'
   includeEmptyDirs = false
}

我正在尝试将文件夹及其内容(包括子文件夹及其内容)从 war 文件复制到本地位置。

我几乎得到了我想要的。问题是上面给我留下了以下目录结构:

src/dirEfg/subdir/dirAbc/subdir/

而不是我想要和期待的:

src/dirEfg/subdir/

我做错了什么?

目前 Gradle 中 zipTree 的当前实施似乎无法开箱即用。

此改进在 this ticket 中进行了跟踪。

您可以按照 Gradle 论坛中 this post 中的建议尝试一些解决方法。 其中之一暗示提取 zip 树和 moving/renaming 内容。