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


当前回答

在~/中添加以下内容。Bash_profile,并设置相应的默认Java版本。

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

alias java8='export JAVA_HOME=$JAVA_8_HOME'
alias java11='export JAVA_HOME=$JAVA_11_HOME'

# default to Java 8
java8

我使用macOS,并使用brew安装java。

编辑: 如果你不使用bash,请更新正确的shell文件,例如,如果你使用zsh,那么它将是~/.zshrc

其他回答

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

//Open bash profile
open ~/.bash_profile

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

// run bash profile
source ~/.bash_profile

安装JDK,而不仅仅是JRE

/usr/libexec/java_home -v 1.8

给了

/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home

next

touch .bash_profile

open -a TextEdit.app .bash_profile

TextEdit将显示您可以填写的空白页。

添加到文档: 出口JAVA_HOME = /图书馆/ Java / Home / JavaVirtualMachines / jdk1.8.0_111.jdk /内容

在终端:

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

试试下面的命令:

javac - version

应该输出:

javac 1.8.0_111

将此函数添加到bashrc或zshrc, java-change [version]以选择JDK

# set and change java versions
function java-change() {
  echo "----- old java version -----"
  java -version
  if [ $# -ne 0 ]; then
    export JAVA_HOME=`/usr/libexec/java_home -v $@`
    export PATH=$JAVA_HOME/bin:$PATH
  fi
  echo "----- new java version -----"
  java -version
}

首先运行/usr/ libeexec /java_home -V,输出如下:

Matching Java Virtual Machines (3):
1.8.0_05, x86_64:   "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
1.6.0_65-b14-462, x86_64:   "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_65-b14-462, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home

选择你想要的默认版本(1.6.0_65-b14-462),然后:

export JAVA_HOME=`/usr/libexec/java_home -v 1.6.0_65-b14-462`

或者你可以只指定主版本,比如:

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

现在当你运行java -version时,你会看到:

java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)

在shell的init文件中添加export JAVA_HOME…行。

对于Bash(如antonyh所述):

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

鱼(如ormurin所述)

set -x JAVA_HOME (/usr/libexec/java_home -d64 -v1.8)

更新.zshrc文件应该工作:

nano ~/.zshrc

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0)

按“CTRL+X”退出编辑器 按Y保存更改

source ~/.zshrc
echo $JAVA_HOME
java -version

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