Mac上安装多个java jdk版本并切换命令

2024-06-04 5110阅读

目录

一、 下载jdk并安装

二、配置环境变量

1. 打开配置文件

2.配置Java_Home

 3.刷新缓存

三、切换jdk并查看版本

四、终端卸载 Java


一、 下载jdk并安装

  • Oracle官方网站:https://www.oracle.com/java/technologies/javase-downloads.html

    不想创建Oracle账户,也可以从以下网址下载OpenJDK:

    • AdoptOpenJDK官方网站:https://adoptopenjdk.net/

      如果实在下不了,可以在我的百度网盘链接下载: 

      • 链接: https://pan.baidu.com/s/1Phtyj9sxi3f7NRA5IEsVIQ 提取码: nm8q

        二、配置环境变量

        1. 打开配置文件

        如果当前使用的shell是zsh就编辑.zshrc文件,如果是bash就编辑.bash_profile文件。

        vim ~/.bash_profile
        vim ~/.zshrc 

        注:如果发现切换java命令没有用,或者提示:zsh: command not found: jdk8。因为mac最新版本默认使用的是zsh,而zsh加载自己的配置文件.zshrc。第一种解决办法是我们将配置写在.zshrc文件中;第二种解决办法是在.zshrc文件末尾加入source ~/.bash_profile:

        source ~/.bash_profile

        2.配置Java_Home

        查看已安装的所有jdk版本

        /usr/libexec/java_home -V
        export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home"
        export JAVA_11_HOME="/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home"
        export JAVA_17_HOME="/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home"
        export JAVA_HOME=$JAVA_8_HOME #默认使用jdk8
        alias jdk8="export JAVA_HOME=$JAVA_8_HOME"
        alias jdk11="export JAVA_HOME=$JAVA_11_HOME"
        alias jdk17="export JAVA_HOME=$JAVA_17_HOME"
        

         3.刷新缓存

        vim保存配置文件:先按esc从插入模式切到命令行模式,然后输入英文冒号(:)进入末行模式,键入wq保存编辑内容,q直接退出不保存

        刷新相应文件内容缓存:

        source ~/.bash_profile
        source ~/.zshrc

        三、切换jdk并查看版本

        #切换java,alias取的什么名就输入什么名字
        jdk8 
        #查看当前jdk版本
        java -version 
        

        四、终端卸载 Java

        sudo rm -fr /Library/Java/JavaVirtualMachines/jdk-1.8.jdk

        五、此种切换方式缺点及解决方法

        缺点是这个方法只改变了JAVA_HOME,并没有更改PATH,也就是说重新启用一个新的终端窗口之前设置的jdk版本就会失效恢复成默认的jdk,因为每次重启终端后会自动执行 source ~/.zshrc,会把之前的设置覆盖掉。

        1.解决方法一

        直接修改文件中JAVA_HOME的指向,修改后记得刷新缓存        

        2.解决方法二(待验证)

        使用脚本修改配置文件的原始导出jdk版本:Mac 系统如何在多个jdk版本之间切换_mac从java 11 切换到java8-CSDN博客

        3.解决方法三(待验证)

        修改全局配置/etc/profile,参考linux修改方式:

        Linux上,多个JDK版本如何管理_linux多个jdk如何指定-CSDN博客


    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]