如何为浏览器小程序指定特定的 JRE?
我有一个第三方小程序,需要 JRE v1.5_12 才能正常工作。 用户正在安装 JRE v1.6.07 或更高版本。 过去,在 1.5 及以下版本中,我可以在计算机上安装多个 JRE,并指定使用哪一个 - 但在 1.6 中,这似乎已被破坏。 如何告诉浏览器我想使用 v1.5_12 而不是最新安装的浏览器?
I have an third-party applet that requires JRE v1.5_12 to work correctly. THe user is installing JRE v1.6.07 or better. It used to be with 1.5 and below, that I could have multiple JRE's on the machine and specify which one to use - but with 1.6 that apepars to be broken. How do I tell the browser I want to use v1.5_12 instead of the latest one installed?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
出于安全原因,您不能再强制它使用较旧的 JRE。 假设版本 12 有一个巨大的安全漏洞,每个人都安装版本 13 来修补它。 邪恶的 Java 小程序可能只是说“请使用版本 12 运行”,然后执行它们的攻击,使补丁变得毫无用处。
最有可能的是,您的某些代码存在安全漏洞,而较新的 JRE 正在阻止这些漏洞,因为这会导致安全风险。 修复你的代码,应该是相当小的变化,那么你就不必担心。
有关更改的详细信息,请参阅此页面。
For security reasons, you can no longer force it to use older JRE's. Say release 12 has a huge security hole, and everyone installs release 13 to patch it. Evil java applets could just say "run with release 12 please" and then carry out their exploits, rendering the patches useless.
Most likely you have some code with security holes that the newer JRE is blocking, because it would cause a security risk. Fix your code, should be pretty minor changes, then you wont have to worry.
See this page for more info on the change.
新的 applet 引擎(当 Sun 正式发布时将随 1.6u10 一起发布)为您提供了这方面的大量控制。 需要一段时间才能在 6u10 上获得足够的系统,达到您可以真正依赖其功能的程度(除非您是公司),但它即将到来(似乎晚了大约 5 年)。
这是一篇 JavaWorld 文章,在非常高的水平上描述了这一点: 文章正文
6u10 还有一个部署工具包,提供超级易于使用的 JavaScript 片段,您可以将其包含在小程序部署页面中。 这些片段处理 JRE 版本检查、用户通知、按需下载 JRE 以及许多其他事情,否则这些事情会很麻烦(不是不可能,只是很痛苦)。 部署工具包被设计为优雅地失败,因此如果安装了 6u10 或更高版本,它会做出令人惊奇的事情,并且对于较旧的 JRE 会恢复到正常的行为。
新的小程序引擎的一个非常非常好的事情是它在与浏览器不同的进程空间中运行。 这有几个非常大的优点,包括能够在不同版本的 JRE 中运行多个小程序(是的,您可以指定不同的所需 JRE,包括对您支持的 JRE 的旧版本和新版本的限制 - 小程序引擎将如果可以的话,重用 JRE,但如果需要,它也能够启动不同的 JRE)。
The new applet engine (that will be shipped with 1.6u10 when Sun gets around to officially shipping it) gives you a tremendous amount of control in this area. It's going to take awhile to get enough systems on 6u10 to where you can actually rely on the functionality (unless you are corporate) - but it is coming (seems like it's about 5 years too late).
Here's a JavaWorld article describing this at a very high level: article text
6u10 also has a deployment toolkit that provides super easy to use javascript snippets that you can include in your applet deployment pages. These snippets handle JRE version checking, user notification, JRE downloading on demand, and a number of other things that are otherwise a hassle (not impossible, just a pain). The deployment kit has been designed to fail gracefully, so it does amazing things if 6u10 or above is installed, and drops back to decent behavior for older JREs.
One really, really nice thing about the new applet engine is that it runs in a separate process space from the browser. This has a couple of very big advantages, including the ability to have multiple applets running in different versions of the JRE (yes, you can specify different required JREs, including restrictions on how old and how new of JRE you support - the applet engine will re-use JREs if it can, but it has the ability to start up a different one if it needs).