如何更改mac上的Java默认版本?


当前回答

如果你仍然不能设置它。使用该命令。

export JAVA_HOME=/usr/libexec/ JAVA_HOME

那你就得用这个。

export JAVA_HOME=$(/usr/libexec/ JAVA_HOME -v 1.8)

它肯定会起作用。

其他回答

使用jenv是一种简单的方法。(2022年更新)

安装jenv:参见入门 使用brew安装java Brew install openjdk@11 Ln -s /usr/local/opt/openjdk@11/libexec/openjdk。jdk /图书馆/ Java / JavaVirtualMachines / openjdk - 11. jdk #其他java Brew install openjdk@8 Brew install openjdk@17 添加java到jenv jenv add /Library/Java/JavaVirtualMachines/openjdk-11.jdk/Contents/Home 用法:参考jenv

使用jenv,它就像一个Java环境管理器。它非常容易使用和清洁

对于Mac,请按照以下步骤操作:

brew install jenv

git clone https://github.com/gcuisinier/jenv.git ~/.jenv

安装:如果您正在使用bash,请遵循以下步骤:

$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile

echo 'eval "$(jenv init -)"' >> ~/.bash_profile

$ exec $SHELL -l

向jenv添加所需的JVM版本:

jenv add /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

jenv add /System/Library/Java/JavaVirtualMachines/1.8.0.jdk/Contents/Home

检查已安装版本:

jenv versions

设置您想要使用的Java版本:

jenv global oracle64-1.6.0

您可以将其添加到.bash_profile中,以设置默认版本。

//Open bash profile
open ~/.bash_profile

export JAVA_HOME=`/usr/libexec/java_home -v 1.8`

// run bash profile
source ~/.bash_profile

更新……

在macOS Monterey中,v12.0.1 Cask不再是一个Brew命令。只要按照步骤进行,但在步骤4中只需执行$ brew install…或者$ brew install——桶…而不是$ brew桶安装…感谢@Shivam Sahil的评论。

我将分享我使用macOS Big Sur v11.4的经验,处理这些问题的最好方法是使用Homebrew安装java:

1 -安装自制软件。

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2 -安装自制酒桶。

$ brew tap homebrew/cask-versions 
$ brew update 
$ brew tap homebrew/cask

3 -安装最新版本的Java

$ brew cask install java

4 -安装其他需要的Java版本(Java8, Java11, Java13)。

$ brew tap adoptopenjdk/openjdk

$ brew cask install adoptopenjdk8
$ brew cask install adoptopenjdk11
$ brew cask install adoptopenjdk13
$ brew cask install adoptopenjdk14

5 -在不同版本的Java之间切换

在不同版本的Java之间切换,只需要将以下内容添加到.bash_profile或.zshrc。

在这种情况下,我们希望能够在Java8、Java11、Java13和Java14之间切换:

export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA_11_HOME=$(/usr/libexec/java_home -v11)
export JAVA_13_HOME=$(/usr/libexec/java_home -v13)
export JAVA_14_HOME=$(/usr/libexec/java_home -v14)

alias java8='export JAVA_HOME=$JAVA_8_HOME'
alias java11='export JAVA_HOME=$JAVA_11_HOME'
alias java13='export JAVA_HOME=$JAVA_13_HOME'
alias java14='export JAVA_HOME=$JAVA_14_HOME'

# default to Java 14
java14

6 -重新加载.bash_profile或.zshrc使别名生效:

$ source ~/.bash_profile

or

$ source ~/.zshrc

7 -最后,你可以使用别名在不同的Java版本之间切换。

$ java8
$ java -version
java version "1.8.0_261"

有关更多信息,您可以看到这篇文章:如何使用Brew在Mac上安装Java

macOS El Capitan或更新版本将选择/Library/Java/JavaVirtualMachines中可用的更高版本的JDK,因此为了降级,您可以将文件重命名为Info。plist改为Info.plist.disabled这样操作系统就会选择以前的版本。