首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jardiff能支持Pack200 (.pack.gz)吗?

Jardiff能支持Pack200 (.pack.gz)吗?
EN

Stack Overflow用户
提问于 2013-04-04 19:06:28
回答 1查看 336关注 0票数 2

我想在我们现有的JWS应用程序中实现Pack200。但是最近在我本地的POC中,我不能用Pack200文件模拟Jardiff。

例如,我有两个版本的jar

代码语言:javascript
复制
1.test__V1.jar 
2.test__V2.jar (additional one jar in lib folder)

我能够得到的jar文件与差异(额外的一个jar在lib文件夹中)之间的两个jar与以下URL

代码语言:javascript
复制
http://localhost/app/test.jar?version-id=2&current-version-id=1

使用Pack200,我已经根据上述jar文件准备了2个gz文件,如下所示

代码语言:javascript
复制
1.test.jar.pack__V1.pack.gz
2.test.jar.pack__V2.pack.gz

我将必须始终下载完整的文件与以下请求URL

代码语言:javascript
复制
http://localhost/app/test.jar.pack.gz?version-id=2&current-version-id=1

因此,我怀疑Jardiff是否能够支持Pack200(.pack.gz)版本的文件。希望你们能在这里给我一些指导。谢谢:)

EN

回答 1

Stack Overflow用户

发布于 2015-03-15 05:35:21

目前我正在研究这一点,因为我想在my gradle plugin中实现对jardiff的支持。您最有可能使用的是来自Sun的JnlpDownloadServlet。我看了一眼是sourcecode。至少上述url上的版本不支持jardiff文件的pack200。

servlet对每个对jar文件的请求执行以下操作:

代码语言:javascript
复制
def (file, mime-type) = find requested file {
    if version-id and current-version-id given and jardiff is smaller than file__V${version-id}.jar.pack.gz
        -> (jardiff.jar, application/x-java-archive-diff)
    else if version-id given
        -> (file__V${version-id}.jar, application/java-archive)
    else 
        -> (file.jar, application/java-archive)
}
if file found {
    if ${file}.pack.gz exists
        return ${file}.pack.gz with $mime-type and content-encoding header pack200-gzip
    else if ${file}.gz exists
        return ${file}.gz with $mime-type content-encoding header gzip
    else 
        return ${file} without $mime-type content-encoding header
}

如果返回的文件是jardiff,或者jar是在mime-type头中编码的。

如果使用pack200,则在content-encoding标头中进行编码。JNLP Spec确实解释了细节。

webstart客户端确实为jardiff文件实现了pack200,我用Java8u31和一些概念验证servlet对其进行了测试。

我将在servlet和gradle插件中实现该功能。请查看我的插件的相应github issue以获取状态更新。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15809410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档