在加载applet时,我遇到了一个特殊的问题。我的applet依赖于两个jar文件,所以我使用"cache-archive“和"archive”参数标记来指向jar。
假设我的小应用程序嵌入在a.jar中,并分别依赖于dep1.jar(大小仅为KB )和dep2.jar(大小为3MB)。在加载我的小程序a.jar时,dep1.jar加载成功,但dep2.jar加载失败并抛出ClassNotFoundException。
当我尝试加载一个没有依赖jar的示例applet jar时,我能够成功地加载带有和标记的applet。
现在到了有趣的部分,只有当JAVA插件控件设置为"caching enabled“时,applet加载失败才会发生。如果禁用缓存,则加载小程序时不会出现任何问题。
我希望你现在已经解决了这个问题,我正在尝试以编程方式删除java插件缓存并重新加载jar,因为我不能去告诉我的用户手动删除java插件缓存。
问:有没有办法以编程方式删除java插件控件缓存。也可以让我知道为什么当java插件控制设置启用来缓存资源时,dep2.jar无法加载。
提前欣赏。
发布于 2011-12-19 23:31:16
据我所知,没有办法从您的应用程序中修改客户端的文件缓存。而且,听起来你遇到了缓存的版本控制问题。为了解决这个问题,您需要确保您的JNLP和相关的jars使用适当的版本控制技术。
https://stackoverflow.com/questions/6819912
复制相似问题