如何在 Mac OSX 上的 Java 版本之间切换? [复制]
Posted
技术标签:
【中文标题】如何在 Mac OSX 上的 Java 版本之间切换? [复制]【英文标题】:How to switch between releases of Java on Mac OSX? [duplicate] 【发布时间】:2019-04-19 19:08:06 【问题描述】:我在 Mac OSX 上安装了 3 个 Java 8 版本。我需要暂时切换到旧版本,因为我使用的程序与新版本存在问题。
/Library/Java/JavaVirtualMachines >>> ls -al
total 0
drwxr-xr-x 5 root wheel 160 Nov 1 11:12 .
drwxr-xr-x 4 root wheel 128 Sep 21 00:02 ..
drwxr-xr-x 3 root wheel 96 Jun 16 2017 jdk1.8.0_131.jdk
drwxr-xr-x 3 root wheel 96 Oct 16 2017 jdk1.8.0_144.jdk
drwxr-xr-x 3 root wheel 96 Oct 24 12:02 jdk1.8.0_181.jdk
/Library/Java/JavaVirtualMachines >>> which java
/usr/bin/java
/usr/bin >>> ls -al java
lrwxr-xr-x 1 root wheel 74 Nov 1 11:03 java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
如何让 jdk1.8.0_144.jdk 暂时成为 java 的当前系统版本,直到我可以更新程序?
谢谢,
【问题讨论】:
通过设置 $PATH 环境变量。导出 PATH=运行此命令以查看您当前拥有的 Java 版本:
/usr/libexec/java_home -V
输出将是这样的:
Matching Java Virtual Machines (2):
1.8, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8/jdk/Contents/Home
1.6, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.jdk/Contents/Home
按照export
命令选择您想要的Java
版本作为默认:
export JAVA_HOME ='/usr/libexec/java_home -v 1.6'
在你的 shell 的初始化文件中。
希望对你有帮助
【讨论】:
【参考方案2】:将 JAVA_HOME
环境变量设置为所需的 JDK 版本应该可以解决问题。
将export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
添加到您的.bash_profile
【讨论】:
正如上面 cmets 中提到的@sainageswar-s,您可能还必须将$JAVA_HOME
环境变量预先附加到$PATH
。问题是默认情况下/usr/bin/java
有一个符号链接可能会被拾取。以上是关于如何在 Mac OSX 上的 Java 版本之间切换? [复制]的主要内容,如果未能解决你的问题,请参考以下文章