在Mac中安装不同版本Java时的切换使用
问题起因
由于各种各样的原因自己准备开始学习一下kafka的使用,但是在准备在自己的电脑中先尝试时, 就遇到了问题(踩坑中),问题的具体如下:
kafka: Java 1.8 is required to install this formula.
JavaRequirement unsatisfied!
You can install with Homebrew Cask:
brew cask install homebrew/cask-versions/java8
You can download from:
https://www.oracle.com/technetwork/java/javase/downloads/index.html
Error: An unsatisfied requirement failed this build.
因为自己的电脑是Mac,所以最简单的安装方式就是通过brew命令安装,这种安装方式可以解决大部分依赖问题。
命令如下:
brew install kafka
但是,本以为的简单安装也出现了文章最开始的问题。
分析控制台报错就知道是Java版本的问题,很明显是需要Java1.8。
然而,自己在Java10出的时候就秒安装了,新鲜的东西总是会带来新的快感,所以这问题的出现自己并不感到奇怪。
—-
下面就该想办法如何解决了,自己谷歌百度了一顿,整理了一下解决的方法。
首先,要先安装不同版本的Java在自己的mac中,
brew install java
命令会默认安装最近的Java,而要安装其他版本的jdk则可以用文章开始报错中提示的命令,
brew cask install homebrew/cask-versions/java8
安装好自己需要的不同版本jdk之后,想要切换jdk版本可以使用相关命令进行切换,为了方便每次的切换使用,便采用将命令写进shell配置文件中的方式解决。
—–
自己使用的shell是zsh,使用vim进行配置文件的修改:
vim .zshrc
在文件中添加,如下命令:
# JAVA_HOME SWITCH
# default java10
export JAVA_HOME=$JAVA_10_HOME
# set JDK 8
export JAVA_8_HOME=$(/usr/libexec/java_home -v 1.8)
# set JDK 10
export JAVA_10_HOME=$(/usr/libexec/java_home -v 10.0)
# switch
alias jdk8='export JAVA_HOME=$JAVA_8_HOME'
alias jdk10='export JAVA_HOME=$JAVA_10_HOME'
添加相关命令后,使用source命令重新加载文件:
source .zshrc
最后想要使用哪个版本的jdk,只要输入相应的命令别名即可。