如何在Mac OSX上降级JRE/JDK?

24

有人知道如何通过终端在Mac OSX上将JRE/JDK的版本从1.6.0_24降级到1.6.0_18吗?我需要降级以使一个Java小程序在Firefox中工作。非常感谢任何帮助。


我应该指出,现在(2022年)你不应该再使用Java 6,也不应该再使用小程序。Java 6已经过了多年的生命周期,而小程序也不被现代JVM或现代Web浏览器支持。 - Stephen C
9个回答

31

看起来这似乎不再准确。

我刚刚成功地将JRE和编译器从Java 8降级到了7,方法是查看/Library/Java/JavaVirtualMachines目录,然后将版本号最高的目录移开,例如:

sudo mv jdk1.8.0.jdk ~/Desktop/

10

我发现在 /Library/Java/JavaVirtualMachines 中,即使安装了新版本的JDK,旧版本也没有被删除,所以我只是在我的电脑上删除了新版本(JDK11),然后旧版本自动接管了。 - Amit Bravo

6
如果您的机器上没有旧版本的JDK,您需要使用GUI并下载Java更新程序。我找到了一个最接近您的版本,适用于Mac OS 10.5的Java 1.6.0_15(您没有提到您运行的Mac OS X版本):Java for Mac OS X 10.5 Update 5。我没有看到任何适用于Mac OS X 10.6的版本。对于这个版本,您可能需要下载每个10.6版本的更新程序,并从更新程序中提取JDK安装程序(使用类似Pacifist的工具)。如果您还没有运行/Applications/Utilities/Java Preferences.app,请尝试一下,它可以让您在已安装的Java版本中更改默认版本。希望这可以帮助您...

谢谢!我已经通过链接下载了 JRE,但是在尝试安装时,我收到一个警告说无法安装此版本,因为已经安装了更新版本。不确定该怎么办?我使用的是 Leopard 10.6.7。 - jrutter
问题可能是您正在使用Mac OS X 10.6.7,但链接中的下载适用于Mac OS X 10.5。我找不到适用于Mac OS X 10.6.*的特定JVM更新,因此您可能需要下载10.6的组合更新程序(如@Stefan所提到的),并使用Pacifist提取JVM更新程序。不幸的是,我不知道哪个10.6.*版本将具有您正在寻找的版本。您可能希望在Apple Mailing Lists上注册java-dev邮件列表并在那里询问。 - Eric

4

我删除了JavaAppletPlugin: /Library/Internet Plug-Ins/JavaAppletPlugin.plugin

以及所有1.8 JDKs: /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk

然后我成功重新安装了1.7版本。


3
要降级JDK,您需要JDK安装包和一个名为Pacifist的应用程序,该应用程序可从http://www.charlessoft.com/获取。使用方法非常简单。我以前用它来降级我的JDK。

谢谢!这是唯一对我起作用的方法,让我在Lion上降级到Java 6(我想尝试Java 7,但它使我的备份应用程序[CrashPlan]停止工作)。但是...10.7包无法降级...我使用这里的10.6包使其工作:http://support.apple.com/kb/DL1573 - Matt Browne
另外需要注意的是 - 只需要从软件包中复制两个文件夹,然后在命令行中运行“java-version”,它会打开软件更新,询问是否要安装Java运行时...完成后,我成功地降级了。我复制的两个文件夹是/System/Library/Frameworks/JavaVM.framework和/System/Library/Java。 - Matt Browne
2
假如有人在升级到Java 7后尝试让CrashPlan工作,我发现了一种更简单的方法:https://crashplan.zendesk.com/entries/22199717-crashplan-client-does-not-start-under-java-1-7-on-os-x - Matt Browne

1
你正在使用哪个版本的Firefox?
我相信你可以在一台机器上拥有多个JDK / JRE版本,只要在编译/运行时指定路径即可。但是,JVM与Mac捆绑在一起会导致问题。
这篇文章可能会有所帮助
{{link1:如何在Mac OS X上安装特定的JDK?}}

1
这些日子,MAC OS 都会自带最新的Java版本(8或更高版本)。
即使您安装了旧版本,它也会指向最新版本。它只需要指向旧版本即可。要降级到任何预装版本,只需创建该版本的符号链接。
按照以下简单步骤降级您的Java版本。
   (1) cd /System/Library/Frameworks/JavaVM.framework/Versions

   (2) sudo bash

   (3) rm Current

   (4) ln -s 1.6.0/Contents/ Current

   (5) java -version

这将把Java指向Java6的最新更新。现在更新所有路径。
希望这可能有所帮助,如果有效请让我知道... :)

0

对于您想要做的事情,没有降级机制。

通常的建议是通过时间机器回滚到您想要的版本,或者重新安装并仅通过从 Apple 明确下载而不是通过软件更新更新 Java 来选择性地更新所需的版本。

我建议您查看问题。如果您无法在 Firefox 中运行此程序,请尝试使用 Chrome 或 Safari。如果是混合代码问题,则可以在“程序” ->“实用工具”中的 Java 设置面板中更改此设置。


你能告诉我在苹果网站上下载我需要的版本的位置吗? - jrutter

0
我曾经遇到过同样的问题。您可以使用Pacifist软件打开JRE 1.6.0_20映像文件,并将所有包含框架的文件夹提取到\System\Library\Frameworks\JavaVM.framework\Versions文件夹中。之后,JRE应该会出现在您的Applications/Utilities/Java Preferences JRE选择菜单中,您可以在其中切换正在运行的JRE。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接