一般,我们的机器上会同时安装多个版本的 Jdk ,默认的,macOS 会选择最高版本 Jdk 作为默认 Jdk,这样带来一些问题,比如说,有些中间件不支持最新的 Jdk 如 Jdk10,我们需要切换到低版本去,怎样最灵活的实现在不同版本 Jdk 之间快速切换呢,可以使用 shell 来搞定。
在当前 shell 对应的配置文件中(我用的 zsh,配置文件为 ~/.zshrc)加入如下代码:
# Switch Java version 有多少个版本的 Jdk 就写多少个 alias java10="export JAVA_HOME=`/usr/libexec/java_home -v 10`; java -version" alias java8="export JAVA_HOME=`/usr/libexec/java_home -v 1.8`; java -version" alias java7="export JAVA_HOME=`/usr/libexec/java_home -v 1.7`; java -version"
然后 source ~/.zshrc
使其生效(source shell 对应的配置文件)
这样在想要运行特定版本的 Jdk 才能支持的中间件时,比如必须 Jdk8,就使用 java8
这个命令切换到 Jdk8 环境后,再运行相关程序就好了,当然,退出 shell 后会恢复到系统默认配置,现用现运行就好了。