使用<applet>或<object>标记</object> </applet>加载依赖的jar

时间:2011-07-25 17:20:26

标签: java caching applet loading

我在加载小程序时遇到了一个特殊的问题。 我的applet依赖于2个jar文件,所以我使用“cache-archive”和“archive”param标签来指向jar。

假设我的applet嵌入在a.jar中,并且依赖于dep1.jar(大小仅以KB为单位)&amp; dep2.jar(大小3MB)。 在加载我的applet a.jar时,dep1.jar已成功加载但dep2.jar无法加载并抛出ClassNotFoundException。

当我尝试加载没有依赖jar的示例applet jar时,我能够使用这两个以及标记成功加载applet。

现在有趣的部分,applet加载失败只在JAVA PLUGIN CONTROL具有“缓存启用”设置时才会发生。如果禁用了缓存,则applet将被加载而不会出现任何问题。

我希望你此时遇到问题,我试图以编程方式删除java插件缓存并重新加载jars,因为我不能去说我的用户手动删除java插件缓存。

问题:有没有办法以编程方式删除java插件控件缓存。并且任何人都可以让我知道为什么在启用java插件控件设置来缓存资源时dep2.jar无法加载。

欣赏不足。

1 个答案:

答案 0 :(得分:0)

据我所知,无法从您的应用程序修改客户端的文件缓存。此外,听起来你遇到了缓存版本问题。为了解决这个问题,您需要确保您的JNLP和相关的jar正在使用适当的版本控制技术。