Mac(M1)安装多版本的jdk(8,17)
•
移动开发
安装多版本的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 + 本地
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/45bf283e6d.html
