我有一个第三方小程序,需要JRE v1.5_12才能正常工作。用户正在安装JRE v1.6.07或更高版本。它曾经是1.5及以下版本,我可以在机器上有多个JRE,并指定使用哪一个 - 但是1.6的apepars要被打破。如何告诉浏览器我想使用v1.5_12而不是最新安装的?
答案 0 :(得分:14)
出于安全原因,您不能再强迫它使用较旧的JRE。说第12版有一个巨大的安全漏洞,每个人都安装了版本13来修补它。邪恶的Java小程序可以说“请运行12版”,然后执行他们的漏洞,使补丁无用。
很可能您有一些代码存在新JRE阻止的安全漏洞,因为这会导致安全风险。修复你的代码,应该是非常小的改动,然后你不必担心。
有关更改的详细信息,请参阅this page。
答案 1 :(得分:1)
新的applet引擎(当Sun正式发货时,它将随1.6u10一起发货)在这方面为您提供了巨大的控制权。需要一段时间才能在6u10上获得足够的系统来实际依赖功能(除非你是公司) - 但它即将到来(似乎已经晚了5年)。
这是一篇JavaWorld文章,在很高的层次上对此进行了描述:article text
6u10还有一个部署工具包,可以提供超级易用的javascript片段,您可以将其包含在applet部署页面中。这些片段处理JRE版本检查,用户通知,按需下载JRE以及其他许多其他麻烦(不是不可能,只是痛苦)的事情。部署工具包的设计优雅地失败,因此如果安装了6u10或更高版本,它会做出惊人的事情,并且对于较旧的JRE,它会恢复正常的行为。
关于新applet引擎的一个非常非常好的事情是它在与浏览器不同的进程空间中运行。这有几个非常大的优点,包括能够在不同版本的JRE中运行多个applet(是的,您可以指定不同的必需JRE,包括对您支持的JRE的大小和新的限制 - applet引擎将如果可以,重复使用JRE,但如果需要,它可以启动另一个JRE。