在Linux切换JDK一条命令就可以解决

【使用命令】
update-alternatives --config java


【案例】

[root@VM-4-14-centos lib]# update-alternatives --config java

共有 2 个提供“java”的程序。

  选项    命令
-----------------------------------------------
*+ 1           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-1.el7_9.x86_64/jre/bin/java)
   2           java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.18.0.10-1.el7_9.x86_64/bin/java)

按 Enter 保留当前选项[+],或者键入选项编号:2

但是在Mac中可没有这个命令。

Mac动态切换JDK方案!

我们本次计划:配别名的方式实现多JDK版本切换,

实现效果如下:使用java11 -version输出jdk11版本信息、使用java17 -version输出jdk17版本信息、使用jdk8就能切换为java8、使用jdk17就能切换为java17

想了解bash_profile作用,请跳转:https://www.zanglikun.com/11801.html

编辑 ~/.bash_profile

vi ~/.bash_profile
JAVA_HOME_8=/Library/Java/JavaVirtualMachines/jdk1.8.0_361.jdk/Contents/Home
JAVA_HOME_11=/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home
JAVA_HOME_17=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
JAVA_HOME_19=/Library/Java/JavaVirtualMachines/jdk-19.jdk/Contents/Home

# 注意 当前叫JAVA_HOME_8,不叫JAVA_HOME,同时脚本从上到下执行,JAVA_HOME当前不存在了,只有执行export JAVA_HOME 的时候才存在。
# JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.


export JAVA_HOME=$JAVA_HOME_17
# export JRE_HOME
export PATH
export CLASSPATH

# 定义别名,输入jdk8 执行export JAVA_HOME=$JAVA_HOME_8 JRE_HOME=$JAVA_HOME_8/jre
alias jdk8="export JAVA_HOME=$JAVA_HOME_8 JRE_HOME=$JAVA_HOME_8/jre"
alias jdk11="export JAVA_HOME=$JAVA_HOME_11 JRE_HOME=$JAVA_HOME_11/jre"
alias jdk17="export JAVA_HOME=$JAVA_HOME_17 JRE_HOME=$JAVA_HOME_17/jre"
alias jdk19="export JAVA_HOME=$JAVA_HOME_19 JRE_HOME=$JAVA_HOME_19/jre"

# 这里相当于属性 java8 就会执行jdk8,然后在执行java。如果你输入java8 -version 就相当于执行 jdk8 && java -version
alias java8="jdk8 && java"
alias java11="jdk11 && java"
alias java17="jdk17 && java"
alias java19="jdk19 && java"


# 这里配置了Maven哦!
export MAVEN_HOME=/Users/zanglikun/dev/apache-maven-3.6.3
export PATH="$PATH:$MAVEN_HOME/bin"

不要忘记!!!!配置生效得执行下文命令

source ~/.bash_profile

测试使用

先输入jdk[X]后,再使用java命令即可!

zanglikun@zanglikundeMacBook-Pro lib % jdk11
zanglikun@zanglikundeMacBook-Pro lib % java -version
java version "11.0.18" 2023-01-17 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.18+9-LTS-195)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.18+9-LTS-195, mixed mode)


zanglikun@zanglikundeMacBook-Pro lib % jdk17
zanglikun@zanglikundeMacBook-Pro lib % java -version
java version "17.0.6" 2023-01-17 LTS
Java(TM) SE Runtime Environment (build 17.0.6+9-LTS-190)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.6+9-LTS-190, mixed mode, sharing)


zanglikun@zanglikundeMacBook-Pro lib % java19 -version
java version "19.0.2" 2023-01-17
Java(TM) SE Runtime Environment (build 19.0.2+7-44)
Java HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)

解决Mac重启配置的bash_profile失效问题

mac启动脚本现在修改为更加先进的zsh模式,其作用等同于原来的bash_profile。所以我们只需要在zsh的脚本你加入 source ~/.bash_profile 即可解决问题

vim ~/.zshrc 

添加内容

source ~/.bash_profile

保存即可,重启电脑后,就能使用了

特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤