我在自定义编写的安装程序中使用groovy AntBuilder,例如。解压安装包。 我无法弄清楚的一件事是,如何检测解压缩任务是否失败,例如。 我有以下代码:
...
AntBuilder antBuilder = new AntBuilder()
antBuilder.mkdir(dir:installationPath)
antBuilder.unzip(src:zipFileName, dest:installationPath,overwrite:"yes")
...
如果目标路径(" installationPath")被写保护,则解压缩报告错误("无法扩展..."),但任务本身不会失败。也没有" failOnError"解压缩的属性。
如果目标是写保护的(或者驱动器已满,等等),有没有办法强制解压缩任务失败?
答案 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);
}
}
它默默地捕获异常而不再重新抛出它。