Mac OS X和多个Java版本

476

我怎样在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

如何在现有JDK的基础上安装jdk7?


6
警告:顶部回答推荐的Homebrew Java安装命令已经不再适用。请参考我的回答获取最新命令,或查看 这个绝妙的回答,它包含了所有最新的命令以及不同方法的详细说明。 - Powers
这个解决方案对我很有效。 - Wahab Khan Jadon
22个回答

0
安装更新版本的OpenJDK,我使用以下方法。例如,OpenJDK 14:
brew info adoptopenjdk
brew tap adoptopenjdk/openjdk
brew cask install adoptopenjdk14

请查看https://github.com/AdoptOpenJDK/homebrew-openjdk获取最新信息。


0
当你想在Mac M1上保留多个已安装的JDK版本,并且希望能够轻松地在它们之间切换时,请在你的~/.zshrc文件中添加以下行。
alias jdk11="export JAVA_HOME=`/usr/libexec/java_home -v 11`; java -version"
alias jdk8="export JAVA_HOME=`/usr/libexec/java_home -v 1.8`; java -version"

现在,这些可以像下面这样轻松切换
% ~
: jdk8
openjdk version "1.8.0_382"
OpenJDK Runtime Environment (Zulu 8.72.0.17-CA-macos-aarch64) (build 1.8.0_382-b05)
OpenJDK 64-Bit Server VM (Zulu 8.72.0.17-CA-macos-aarch64) (build 25.382-b05, mixed mode)
% ~
: java -version
openjdk version "1.8.0_382"
OpenJDK Runtime Environment (Zulu 8.72.0.17-CA-macos-aarch64) (build 1.8.0_382-b05)
OpenJDK 64-Bit Server VM (Zulu 8.72.0.17-CA-macos-aarch64) (build 25.382-b05, mixed mode)
% ~
:
% ~
: jdk11
openjdk version "11.0.15" 2022-04-19 LTS
OpenJDK Runtime Environment Corretto-11.0.15.9.1 (build 11.0.15+9-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.15.9.1 (build 11.0.15+9-LTS, mixed mode)
% ~
: java -version
openjdk version "11.0.15" 2022-04-19 LTS

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