我想在Mac OSX上安装OpenJDK Java,并让它与其他JDK一起工作,因为它是一个更新的版本。目前,我下载了tar.gz并将其放在我的路径中,但这很难维护。
我发现唯一一个能自动做更多事情的安装是通过Homebrew桶进行安装。它看起来也只有当前版本:
brew cask info java
显示:
java: 13,33:5b8a42f3905b406298b72d750b6919f6
https://openjdk.java.net/
所以我可以从那里安装,然后呢?我是否只能使用新版本?
与Homebrew和jenv合作:
假设:Mac机器,你已经安装了自制软件。
从Oracle官方网站安装Java。可以安装多个版本的JDK。它将安装在以下路径:
/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/
/Library/Java/JavaVirtualMachines/jdk1.11.0_2.jdk/
/Library/Java/JavaVirtualMachines/jdk-14.0.2.jdk/
如果没有jenv,系统将使用最后安装的java。
如果你想使用/管理多个版本,那么你可以使用jenv:
安装和配置jenv:
$ brew install jenv
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(jenv init -)"' >> ~/.zshrc
$ source ~/.zshrc
将已安装的java添加到jenv:
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
$ jenv add /Library/Java/JavaVirtualMachines/14.0.2.jdk/Contents/Home
查看所有已安装的java:
$ jenv versions
上面的命令将给出已安装java的列表:
system
1.8
* 1.8.0.291 (set by /Users/lpatel/.jenv/version)
14
14.0
14.0.2
oracle64-1.8.0.291
oracle64-14.0.2
配置你想要使用的java版本:
$ jenv global 1.8.0.291
与Homebrew和jenv合作:
假设:Mac机器,你已经安装了自制软件。
从Oracle官方网站安装Java。可以安装多个版本的JDK。它将安装在以下路径:
/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/
/Library/Java/JavaVirtualMachines/jdk1.11.0_2.jdk/
/Library/Java/JavaVirtualMachines/jdk-14.0.2.jdk/
如果没有jenv,系统将使用最后安装的java。
如果你想使用/管理多个版本,那么你可以使用jenv:
安装和配置jenv:
$ brew install jenv
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(jenv init -)"' >> ~/.zshrc
$ source ~/.zshrc
将已安装的java添加到jenv:
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
$ jenv add /Library/Java/JavaVirtualMachines/14.0.2.jdk/Contents/Home
查看所有已安装的java:
$ jenv versions
上面的命令将给出已安装java的列表:
system
1.8
* 1.8.0.291 (set by /Users/lpatel/.jenv/version)
14
14.0
14.0.2
oracle64-1.8.0.291
oracle64-14.0.2
配置你想要使用的java版本:
$ jenv global 1.8.0.291
我是这么做的。
步骤1:安装Java 11
你可以从这里下载Java 11 dmg for mac: https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html
步骤2:安装Java 11后。确认所有版本的安装。在终端中输入以下命令。
/usr/libexec/java_home -V
步骤3:编辑.bash_profile
sudo nano ~/.bash_profile
步骤4:添加11.0.1作为默认值。(将以下行添加到bash_profile文件中)。
export JAVA_HOME=$(/usr/libexec/java_home -v 11.0.1)
切换到任何版本
export JAVA_HOME=$(/usr/libexec/java_home -v X.X.X)
现在按CTRL+X退出bash。按“Y”保存更改。
步骤5:重新加载bash_profile
source ~/.bash_profile
步骤6:确认当前的Java版本
java -version
另一种选择是使用SDKMAN!参见https://wimdeblauwe.wordpress.com/2018/09/26/switching-between-jdk-8-and-11-using-sdkman/
首先安装SDKMAN: https://sdkman.io/install然后…
安装Oracle JDK 8使用
安装OpenJDK 11
开关:
使用java 8.0.181-oracle切换到带有sdk的JDK 8
使用java 11.0.0-open切换到带有sdk的JDK 11
设置默认值:
默认JDK 8, sdk默认java 8.0.181-oracle
默认为JDK 11, sdk默认为java 11.0.0-open
如果您的机器上安装了多个版本,请在bash配置文件中添加以下内容:
export JAVA_HOME_7=$(/usr/libexec/java_home -v1.7)
export JAVA_HOME_8=$(/usr/libexec/java_home -v1.8)
export JAVA_HOME_9=$(/usr/libexec/java_home -v9)
并添加以下别名:
别名java7=“出口JAVA_HOME=$ java_home_7”
别名java8=“出口JAVA_HOME=$ java_home_8”
别名java9=“出口JAVA_HOME=$ java_home_9”
并且可以使用别名切换到所需的版本:
在终端:
~ >> java7
出口JAVA_HOME = $ JAVA_7_HOME