当前位置:   article > 正文

Mac(M1)安装多版本的jdk(8,17)_mac jdk17

mac jdk17

安装多版本的JDK

1. 问题发生

在某些项目或许只支持java8,但是如果是一些新项目,或使用了springboot3.0以上的项目,jdk为17或者更高

2. 问题解决

2.1 安装包下载(pkg/dmg)

Java8: Java Downloads | Oracle

Jdk17: Java Downloads | Oracle

位置

2.2 配置

 

  1. ## java env
  2. export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_361.jdk/Contents/Home -v 1.8"
  3. export JAVA_17_HOME="/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home -v 17"
  4. alias java8='export JAVA_HOME=$JAVA_8_HOME'
  5. alias java17='export JAVA_HOME=$JAVA_17_HOME'
  6. JAVA_HOME=$JAVA_8_HOME
  7. PATH=$JAVA_HOME/bin:$PATH:.
  8. CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
  9. export JAVA_HOME
  10. export PATH
  11. export CLASSPATH

2.3 测试使用

 

结论:能用,很表面,但不是很好用!eg: 再开一个terminal测试便知

结论是又变成jdk17!

2.4 修正

  1. ### JDK def
  2. export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_361.jdk/Contents/Home "
  3. export JAVA_17_HOME="/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home"
  4. ### alias
  5. alias java8='echo "export JAVA_HOME=$JAVA_8_HOME" >> ~/.zshrc && source ~/.zshrc && echo "switch to Java8"'
  6. alias java17='echo "export JAVA_HOME=$JAVA_17_HOME" >> ~/.zshrc && source ~/.zshrc && echo "switch to Java17"'

新问题出现: 在~/.zshrc中,每切换一次jdk版本,就会增加一行记录

 

  1. # 不备份 但mac默认备份,若不备份还要加上下方的“” 不然会报错
  2. sed -i "" '/^export JAVA_HOME=/d' 1.txt
  3. # 备份
  4. sed -i ".bak" '/^export JAVA_HOME=/d' 1.txt

整理如下

  1. ### JDK definition
  2. export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_361.jdk/Contents/Home"
  3. export JAVA_17_HOME="/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home"
  4. THE_SOURCE=~/.zshrc
  5. ### alias
  6. alias java8='sed -i "" "/^export JAVA_HOME=/d" $THE_SOURCE && echo "export JAVA_HOME=$JAVA_8_HOME" >> ~/.zshrc && source ~/.zshrc && echo "switch to Java8"'
  7. 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 + 本地

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号