加载具有指定的旧JRE版本而不是最新安装的applet

时间:2013-01-10 06:40:15

标签: applet java classnotfoundexception

我希望使用JRE版本1.6.0_14加载我的applet。我已安装更新14,17,24和35.我正在使用<object>标记classid来加载更新版本14的版本。

在这种情况下,applet加载更新35然后再次使用更新14.在更新35上的java控制台上没有注意到错误,并且在更新1.6.0_14的Java控制台上我们看到以下错误。

java.lang.ClassNotFoundException: sun/net/www/protocol/http/NTLMAuthenticationCallback

如何避免使用更高版本的JRE?以及如何避免类未找到错误?

1 个答案:

答案 0 :(得分:1)

使用较低版本的JRE运行是一个严重的安全风险。不是在您运行自己的applet时,因为您信任自己的代码。但其他人应该拒绝运行它。当您使用未安装最新版本JRE的浏览器浏览网页时,您自己应该保持警惕。

JRE安装程序将Java插件安装到您的浏览器中,并且将始终启动单个版本的插件,与您请求的Java版本无关。然后,插件将在对象标记的classid中指定的JRE中运行applet。可以在Java控制面板中配置插件可用的版本。

这就留下了为什么你的应用程序不能运行最新版本的java 1.6的问题。插件在1.6.0_something中进行了大修,进入了所谓的下一代插件。也许这就是给你带来麻烦的东西。您可以在高级选项卡上的Java控制面板中指明您希望使用计算机上的旧插件。 (“启用下一代Java插件(需要重新启动浏览器”)。我认为知道禁用下一代插件是否可以解决您的问题很有意思。