我正在尝试自动化我的epub书籍工作流程,并且我遇到了epub规范的一个愚蠢部分的问题。第一个文件必须命名为“mimetype”,并且该zip条目的内容必须是未压缩的。
Java中的ZipOutputStream
类具有执行它所需的API(ZipOutputStream#setLevel
),但我没有看到通过Zip
任务获取此任何方法的方法。我运气不好,我是否必须手动进行zip流式传输,还是有一些方法可以使用gradle本地访问压缩配置文件?
答案 0 :(得分:1)
简要介绍一下Gradle(里程碑-5)来源,发现它不太可能发生。
我发现ZipOutputStream
的唯一引用位于org.gradle.api.internal.file.archive.ZipCopySpecVisitor
的第63行,您会发现它正在执行此操作:
ZipEntry archiveEntry = new ZipEntry(...);
archiveEntry.setMethod(ZipEntry.DEFLATED);
ZipEntry.STORED
可能就是您要找的地方,但不幸的是DEFLATED
似乎是硬编码的。顺便说一下,Gradle似乎正在使用Apache commons compress库来处理zip存档。