我认为这肯定是一个常见问题,但我还没有找到任何明确的解决方案。
我们有几种产品可以通过装有 JRE 版本 1.5 的浏览器(IE 7)访问。
我们现在需要能够支持使用 JRE 1.6 的另一个应用程序。
我以为一个解决方案是在客户端上安装 Firefox,并将 1.6 设置为仅适用于 Mozilla 类型的浏览器,但我发现这实际上不起作用。我在 IE 中仍然使用 1.6,这导致较旧的应用程序出现问题。
有没有办法区分浏览器使用的 JRE?批处理脚本或注册表黑客可能没问题。
更新 - 2011 年 4 月 6 日:
我们有一个应用程序坚持使用 IBM JRE 1.5 v9。如果我们尝试使用任何其他 JRE 版本运行它,那么它只会提示从服务器下载 JRE。也许它可以与 JRE 1.6 一起使用,但是,它无法识别除它想要使用的版本之外的任何其他版本。我们使用的产品是 ITM (IBM Tivoli Monitoring)。我以前也看到过其他 COTS 产品也有类似的行为,例如 Ciscoworks,它过去只与 JRE 1.4.2_06 一起使用。任何其他版本都会提示安装插件...
所以我的问题不是 Java 版本与另一个版本的兼容性。我的问题是如何支持必须在同一客户端上使用不同 JRE 版本的应用程序
哦,我不能使用任何需要用户根据需要启用/禁用插件的东西,因为这必须在受限制的客户端系统上运行(用户在该系统上拥有非常有限的用户级别权限)。当前设置有应用程序图标(带有 URL 参数的 Internet Explorer),他们从桌面上选择。
答案1
Java 应该向后兼容,因此在 1.5 中编译的程序应该可以在 1.6 中正常运行。事实上,两者在语法方面并没有太大的不同,而且 1.5 已经很老了。我建议在 1.6 上测试您的 1.5 产品,看看它们是否运行正常。
答案2
在 Mozilla Firefox 的附加组件页面,您可以禁用/启用插件。安装必要的 JRE。然后创建单独的 Firefox 配置文件。并在每个配置文件中根据需要启用/禁用特定的 JRE。
答案3
您可以安装多个版本的 Java,但我不知道如何强制浏览器针对特定应用程序使用其中一个版本。也许它会根据应用程序的启动方式自动执行此操作?
编辑:另一个在某种程度上涵盖它的 Stack Overflow 链接是Windows 下同时运行多个 Java 版本。