安装多版本的JDK
1. 问题发生
在某些项目或许只支持java8,但是如果是一些新项目,或使用了springboot3.0以上的项目,jdk为17或者更高
2. 问题解决
2.1 安装包下载(pkg/dmg)
Java8: Java Downloads | Oracle
Jdk17: Java Downloads | Oracle
位置
2.2 配置
## java env
export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_361.jdk/Contents/Home -v 1.8"
export JAVA_17_HOME="/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home -v 17"
alias java8='export JAVA_HOME=$JAVA_8_HOME'
alias java17='export JAVA_HOME=$JAVA_17_HOME'
JAVA_HOME=$JAVA_8_HOME
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH
2.3 测试使用
结论:能用,很表面,但不是很好用!eg: 再开一个terminal测试便知
结论是又变成jdk17!
2.4 修正
### JDK def
export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_361.jdk/Contents/Home "
export JAVA_17_HOME="/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home"
### alias
alias java8='echo "export JAVA_HOME=$JAVA_8_HOME" >> ~/.zshrc && source ~/.zshrc && echo "switch to Java8"'
alias java17='echo "export JAVA_HOME=$JAVA_17_HOME" >> ~/.zshrc && source ~/.zshrc && echo "switch to Java17"'
新问题出现: 在~/.zshrc中,每切换一次jdk版本,就会增加一行记录
# 不备份 但mac默认备份,若不备份还要加上下方的“” 不然会报错
sed -i "" '/^export JAVA_HOME=/d' 1.txt
# 备份
sed -i ".bak" '/^export JAVA_HOME=/d' 1.txt
整理如下
### JDK definition
export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_361.jdk/Contents/Home"
export JAVA_17_HOME="/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home"
THE_SOURCE=~/.zshrc
### alias
alias java8='sed -i "" "/^export JAVA_HOME=/d" $THE_SOURCE && echo "export JAVA_HOME=$JAVA_8_HOME" >> ~/.zshrc && source ~/.zshrc && echo "switch to Java8"'
alias java17='sed -i "" "/^export JAVA_HOME=/d" $THE_SOURCE && echo "export JAVA_HOME=$JAVA_17_HOME" >> ~/.zshrc && source ~/.zshrc && echo "switch to Java17"'
完成~~
2.5 引导
node 多版本 eg : nvm (brew install nvm) 、
mysql (5.7 or 8.0):本地 + docker or linux
brew + 本地
版权归原作者 [email protected] 所有, 如有侵权,请联系我们删除。