使用Ant实现gzip最大压缩

5

Ant中的GZip任务可以正常工作,但有没有一种方法可以使其使用最大压缩 - 相当于gzip -9

我不想只使用本地的exec任务,因为那样就会失去跨平台兼容性。

我之所以这样问是因为我需要使用gzip压缩changelog以包含在debian软件包中(也是通过ant生成的),除非它使用最大压缩,否则lintian会发出警告(我显然希望避免这种情况)。


1
@fge 的问题在于它会在没有安装 gzip 的环境中失败,我希望尽可能保持跨平台性。 - Michael Berry
1
听起来对于这个任务是一个不错的提升。 - Peter Lawrey
1
@fge 我正在构建一个Debian软件包,但并不意味着我必须在Debian上进行构建。目前我很高兴地在Windows上构建它(以及通过ant-deb任务在其他任何操作系统上),我希望保持这种方式! - Michael Berry
@PeterLawrey提供的ant并不使用Java的Gzip*Stream类,因为它们不提供压缩比选择。这意味着需要重新编码... - fge
2
https://issues.apache.org/bugzilla/show_bug.cgi?id=52414 刚刚提交了这个问题,看看会发生什么吧! - Michael Berry
显示剩余4条评论
1个回答

2

我快速查看了Javadocs,没有找到任何指定压缩比的选项?也许我错过了它。 - Michael Berry
你可以像这样设置压缩比 zipOutputStream.setLevel(9); 请查看我的回答中的编辑。希望能帮到你。 - Dipin
我在ZipOutputStream中看到了它 - 只是在GZip流中找不到相应的内容,而这正是我所需要的。 - Michael Berry
谢谢,那看起来至少现在是最好的选择! - Michael Berry

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接