ant unzip task:如果解压失败,为什么不会失败?

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

标签: ant groovy unzip

我在自定义编写的安装程序中使用groovy AntBuilder,例如。解压安装包。 我无法弄清楚的一件事是,如何检测解压缩任务是否失败,例如。 我有以下代码:

...
AntBuilder antBuilder = new AntBuilder()
antBuilder.mkdir(dir:installationPath)
antBuilder.unzip(src:zipFileName, dest:installationPath,overwrite:"yes")
...

如果目标路径(" installationPath")被写保护,则解压缩报告错误("无法扩展..."),但任务本身不会失败。也没有" failOnError"解压缩的属性。

如果目标是写保护的(或者驱动器已满,等等),有没有办法强制解压缩任务失败?

1 个答案:

答案 0 :(得分:1)

似乎无法捕捉异常。

根据ant的源代码

    protected void extractFile(FileUtils fileUtils, File srcF, File dir,
                               InputStream compressedInputStream,
                               String entryName, Date entryDate,
                               boolean isDirectory, FileNameMapper mapper)
                               throws IOException {

...........................
...........................
...........................


        } catch (FileNotFoundException ex) {
            log("Unable to expand to file " + f.getPath(),
                    ex,
                    Project.MSG_WARN);
        }

    }

它默默地捕获异常而不再重新抛出它。