我正在尝试使用Java的jar索引编辑来减少Web启动期间加载的存档数量。我用Ant生成了INDEX.LIST并将其放在标记为main(META-INF/INDEX.LIST
)的jar文件中。我的启动类也在这个罐子里。主要的罐子是热切下载的,其他的则是根据需要随意取出的。
只有我的小主jar才会被下载,直到我没有找到可以位于另一个档案中的资源。如果我尝试从其他jar加载属性文件,则Web start客户端会在找到我的资源之前下载许多其他存档。 (需要超过10 Megs而不是~500KB)。看起来它根本没有使用索引文件,只是线性地浏览jar列表并尝试查找资源。我检查了生成的INDEX.LIST,它包含对我的属性文件的引用。
如何检测Web Start是否正在使用我的索引文件?
答案 0 :(得分:2)
部件和包在Java 6 JNLP规范中已经过时了,有利于jar索引和任何标记为download ='lazy'的jar的延迟抓取。
因此要么转储Java Web Start,要么像GetDown或者索引那样那些小狗可以避免从Java 6的新JNLPClassLoader中击中网络。
在我看来,Java< 6的重大回归,但它就是它的本质。我永远无法让jarindex工作。
答案 1 :(得分:1)
您可能希望使用JNLP文件中的package
元素列出每个jar包含的包。 Jar索引很奇怪。