如何在同一台计算机中使用两个不同版本的java?

如何在同一台计算机中使用两个不同版本的java?

我们有一个只能在 1.6 上运行的 Java 应用程序和一个只能在最新的 Java 1.7 上运行的网站。

我们的电脑上安装了两种 Java。但不幸的是,它无法自动检测在运行应用程序时应该使用哪种 Java。

默认情况下计算机使用 1.7,所以当我使用该应用程序时,我必须转到控制面板并禁用 1.7,以便计算机可以使用 1.6。

有没有什么解决办法?比如计算机自动理解应用程序的版本是 1.6,而浏览器加载的版本是 1.7。

答案1

问题在于,要使用的 Java 版本是在系统变量 JAVA_HOME 中配置的,和/或通过将相关的 java.exe 添加到 bin 路径来配置的,并且整个系统查看这两个位置。

要使用不同的 Java 版本运行,您只需运行该版本。

因此,请在您的网络浏览器中将您想要的版本配置为您的主版本。

然后创建一个链接/批处理/任何内容来运行该程序并直接选择要运行的 java。即:

/java6/bin/java.exe MyApp.jar

答案2

如果您使用的是 Java 1.7.0_40+,您可能能够通过使用部署规则集来解决您的问题:

Java 7 update 40 中引入了一项新功能,称为“部署规则集”,旨在解决浏览器小程序中的安全性和兼容性问题,而不会影响 Eclipse、Freemind 或 Tomcat 等常规后端 Java 程序。具体来说,此部署规则集解决了两个主要问题:

桌面管理员控制 Java 版本兼容性的能力,以及最终用户桌面上的默认选择。例如,您的用户可能对大多数浏览器小程序使用最新的安全更新,但对不再维护的旧应用程序仍使用旧的 Java 1.6。最终用户了解谁创建了应用程序以及他们的默认交互(询问、运行或阻止)。通过查看实际的公司或签名者,用户可以避免由他们不认识的人运行代码。例如,我会信任“我的大学”或“Erik Costlow”,但不会信任“未知发布者”或其他自称是我的人。有关更多信息,请查看 Oracle 关于部署规则集的文章

https://blogs.oracle.com/java-platform-group/entry/introducing_deployment_rule_sets

相关内容