侧边栏壁纸
博主头像
术业有道之编程博主等级

亦是三月纷飞雨,亦是人间惊鸿客。亦是秋霜去叶多,亦是风华正当时。

  • 累计撰写 99 篇文章
  • 累计创建 50 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

mac下简单管理多jdk版本

Administrator
2021-10-29 / 0 评论 / 0 点赞 / 228 阅读 / 5907 字

再不更一下,微信怕是要把我公众号冻结了。祭出一个基本操作。

写在前面

mac系统上安装了多个open jdk版本,由此有几个问题,如何快速切换系统jdk版本。当然如何在mac上安装多个open jdk我也会顺带讲一下。

一、如何安装多个open jdk

注意:

不要直接执行 brew cask install openjdk,如果本地没有openjdk源就凉凉。

要是你的brew包管理器一直显示Updating Homebrew...,额。。。容我有空了再写一篇关于brew包管理器的吧。

正确安装步骤:
  • 执行brew tap AdoptOpenJDK/openjdk,将AdoptOpenJDK/openjdk添加到brew仓库
  • 执行brew search openjdk,在列表中选择想要的版本(已经安装了的后面会有个绿色的对勾)
    jdk安装
  • 执行brew cask install adoptopenjdk13,即安装openjdk13,其他的类似(有些是只带运行环境,注意别瞎选)。
  • 查看安装路径执行 ls /Library/Java/JavaVirtualMachines
  • 检查mac上的jdk执行 /usr/libexec/java_home -V

到这里多版本的open jdk安装完成。

二、如何管理多个open jdk

1、安装jenv管理jdk 执行 brew install jenv

2、配置环境变量:

注意:我的mac终端使用的是zsh,这里根据自己的系统终端来配置环境变量。
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc

3、附上几个jenv基本操作命令

  • 增加一个jdk :jenv add
  • 删除一个jdk: jenv remove
  • 设置默认jdk: jenv global
  • 设置当前环境jdk:jenv local
  • 查看jenv托管的所有jdk:jenv versions
觉得麻烦?我写了个脚本,免费送了

dev.sh文件内容:

#!/usr/bin/env bash
menu_key=$1
jdk_version_key=$2

function show {
     echo -e "\033[32m 当前jdk版本为: \033[0m"
     java -version
}

function menu {
     case $menu_key in
          -v | v)
                    if [ ! -n "$jdk_version_key" ]; then  
                         show
                    else
                        jdk 
                    fi
               ;;
          *)
                    echo -e "\033[41;33m 用于macOSx快速设置local jdk version\033[0m"
                    echo -e "\033[34m 帮助: \033[0m"
                    echo -e "\033[36m      -v or v : 指定要设置本地jdk的版本(8、11、13、自定义版本号)\033[0m"
                    jenv versions
               ;;
     esac
}
function jdk {
     case $jdk_version_key in
          8)
                    echo -e "\033[33m 设置本地jdk环境为 1.8 \033[0m"
                    jenv local 1.8
               ;;
          11)
                    echo -e "\033[33m 设置本地jdk环境为 11.0 \033[0m"
                    jenv local 11.0
               ;;
          13)
                    echo -e "\033[33m 设置本地jdk环境为 13.0 \033[0m"
                    jenv local 13.0
               ;;
          *)
                    echo -e "\033[33m 设置本地jdk环境为 $jdk_version_key \033[0m"
                    jenv local $jdk_version_key
               ;;
     esac

     show
}

menu


脚本执行效果说明:

  • 不带任何参数是查询当前系统上的jdk情况
    image.png

  • -vv查询当前系统使用的jdk版本
    image.png

  • 指定固定的jdk版本,以及自己想要的(前提是安装过的哈)jdk版本
    image.png

好了,水文结束,大家都散了吧。走之前可以关注下我的公众号!!!

个人公众号

0

评论区