如何在MacOS上安装额外的java ?我安装了jdk8,运行正常。但是现在出于开发目的,我需要安装jdk7。当试图通过DMG文件安装旧版本时,我得到一个警告,已经安装了新的java版本,安装程序退出。
/usr/libexec/java_home -verbose
Matching Java Virtual Machines (1):
1.8.0_20, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home
除了这个,如何安装jdk7 ?
卸载jdk8,安装jdk7,然后重新安装jdk8。
我在它们之间切换的方法(在.profile中):
export JAVA_7_HOME=$(/usr/libexec/java_home -v1.7)
export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA_9_HOME=$(/usr/libexec/java_home -v9)
alias java7='export JAVA_HOME=$JAVA_7_HOME'
alias java8='export JAVA_HOME=$JAVA_8_HOME'
alias java9='export JAVA_HOME=$JAVA_9_HOME'
#default java8
export JAVA_HOME=$JAVA_8_HOME
然后,只需在终端中输入java7或java8即可切换版本。
(编辑:更新为Java 9添加了dylan的改进)
首先,您需要确保安装了多个JAVA版本。
打开一个新的终端窗口并输入:
/usr/libexec/java_home -V
你的输出应该是这样的:
Matching Java Virtual Machines (2):
11.0.1, x86_64: "Java SE 11.0.1" /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
1.8.0_201, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home
注意,有两个jdk可用。如果您没有注意到需要切换到的Java版本,请从https://www.oracle.com/java/technologies/downloads/下载并安装相应的版本
(JDK 8表示为1.8)。
安装了适当的JDK之后,重复此步骤。
注意要切换到的JDK版本。例如,“11.0”和“1.8”是上面示例中可用的JDK版本。
切换到所需的版本。例如,如果您希望切换到JDK 8,则输入如下一行:
export JAVA_HOME=/usr/libexec/ JAVA_HOME
对于11.0,将“1.8”转换为“11.0”
4. 输入Terminal检查JDK版本:
java -version
如果正确地执行了所有步骤,那么JDK版本应该与您在最后一步中指定的版本相关联。
5. (可选)要使其成为JDK的默认版本,在Terminal中输入以下内容:
open ~/.bash_profile
然后,将步骤3中的终端输入添加到这个文件中:
切换到Java版本8
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
保存并关闭文件。
macOS Sierra 420
这个指南是从各种来源(上面的回复和其他帖子)拼凑起来的,非常完美。
0. 如果还没有安装,请安装自制软件。
参见https://brew.sh/
1. 安装jenv
brew install jenv
2. 将jenv添加到bash配置文件中
if which jenv > /dev/null; then eval "$(jenv init -)"; fi
3.将jenv添加到您的路径
export PATH="$HOME/.jenv/shims:$PATH"
4. 利用“组装/ cask-versions”
供参考:“Tap”扩展了brew的可用回购列表,它可以安装,高于和超出brew的默认可用回购列表。
brew tap homebrew/cask-versions
5. 安装最新版本的java
brew install java --cask
6. 安装java 6(或7或8)
brew install java6 --cask
#brew install java7 --cask
#brew install java8 --cask
? 也许关闭并重新启动终端,让它看到任何新的ENV变量已经设置。
7. 检查安装
所有Java版本都安装在这里:/Library/Java/JavaVirtualMachines让我们看看。
ls -la /Library/Java/JavaVirtualMachines
8. 每次将每个路径添加到jenv。
我们需要添加“/Contents/Home”到版本文件夹。
警告:使用您机器上的实际路径…这些只是例子
jenv add /Library/Java/JavaVirtualMachines/1.6.0___EXAMPLE___/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk___EXAMPLE___/Contents/Home
9. 检查jenv是否注册成功
jenv versions
10. 设置java版本使用(全局)
其中XX与上面版本列表中的一项匹配。
jenv global XX
检查java版本
java -version
检查jenv版本
还应该用星号表示正在使用的当前版本。
jenv versions
DONE
未来快速参考
更改java版本
... 请参阅可用的java版本列表
jenv versions
…然后,其中XX与上面列表中的一项匹配
jenv global XX