如何在Mac OS X上的Java 1.7和Java 1.8之间来回切换?

Pri*_*jee 2 java macos

我试图在我的机器上安装两个版本的Java,并在它们之间来回移动.最好的方法是什么?

Pri*_*jee 10

如果您要迁移到Java 8并仍想运行Java 7,则以下脚本可能对您有所帮助.

循序渐进指南
此脚本使您可以在Java 1.7Java 1.8之间切换.

将以下代码块插入主目录中的脚本.bashrc.bash_profile脚本中.

function setjdk() {
  if [ $# -ne 0 ]; then
   removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin'
   if [ -n "${JAVA_HOME+x}" ]; then
    removeFromPath $JAVA_HOME
   fi
   export JAVA_HOME=`/usr/libexec/java_home -v $@`
   export PATH=$JAVA_HOME/bin:$PATH
  fi
 }
function removeFromPath() {
  export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")
}

#set default jdk version
setjdk 1.7.0_60
Run Code Online (Sandbox Code Playgroud)

设置bash启动脚本后,可以使用以下命令在命令行中的版本之间切换.

$ setjdk 1.7
$ java -version
java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)
Run Code Online (Sandbox Code Playgroud)

切换回Java 1.8并验证您的版本.运行以下命令.

$ setjdk 1.8
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)
Run Code Online (Sandbox Code Playgroud)