java - 如何检测 INDEX.LIST 是否被 Web Start 使用?

标签 java java-web-start

我正在尝试使用 Java 的 jar 索引功能来减少 Web 启动启动期间加载的存档量。我已经用 Ant 生成了 INDEX.LIST,并将它放在标记为 main (META-INF/INDEX.LIST) 的 jar 文件中。我的启动类也在这个jar里。主要 jar 是急切下载的,其他是按需延迟获取的。

只有我的小主 jar 才会被下载,直到我没有找到可以位于另一个存档中的资源。如果我尝试从其他 jar 加载属性文件,Web 启动客户端会在找到我的资源之前下载许多其他存档。 (超过 10 兆而不是需要的 ~500KB)。看起来它根本没有使用索引文件,只是线性地遍历 jar 列表并尝试找到资源。我检查了生成的 INDEX.LIST,它包含对我的属性文件的引用。

我如何检测 Web Start 是否在使用我的索引文件?

最佳答案

该部分和包在 Java 6 JNLP 规范中已过时,支持 jar 索引和延迟获取任何标记为 download='lazy' 的 jar。
这些小狗是为了避免 Java 6 的新 JNLPClassLoader 的网络攻击。
我认为这是 Java <6 的重大倒退,但事实就是如此。我也永远无法让 jarindex 工作。

关于java - 如何检测 INDEX.LIST 是否被 Web Start 使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5117832/

相关文章:

java - 如何在 Python 中对 Java 进行类似的公共(public)静态声明?

java - 为什么我的画从 Canvas 上消失了?

java - 没有代码库如何使用JNLP?

java - 通过第二个 Web 服务接收 Java http 响应正文

java - 带有 Android : How to inject context when using MVP? 的 Dagger

java - 使用 Java Web Start 部署应用程序

java - Java Web Start 上的指纹

java - 如何更改 keystore 中 key 的别名?

java - Java Web Start 是否需要启用 Java 浏览器插件?

java - Thread.sleep() 的替代方案以提高性能?