mac jdk多版本切换

作者: 三也视界 | 来源:发表于2021-08-13 22:55 被阅读0次

    我们经常听到jdk、jre、jvm,它们有什么联系呢?

    JDK

    JDK全称 JAVA development kit JAVA开发工具,它包含 JRE,以及编译器和调试器等开发相关的文件

    JRE

    全称 JAVA runtime environment,JAVA运行时环境,它包含虚拟机,库函数,以及运行JAVA程序所必须的文件

    JVM

    全称是 JAVA virtual machine,JAVA虚拟机。它的目的是将 代码编译成 不同平台计算机可识别的代码

    image

    对于版本切换,只要切换JDK,相应的版本都会切换,下面进入正题。

    查看当前 JDK 版本

    java -version
    

    输出

    openjdk version "11.0.11" 2021-04-20 LTS
    OpenJDK Runtime Environment Zulu11.48+21-CA (build 11.0.11+9-LTS)
    OpenJDK 64-Bit Server VM Zulu11.48+21-CA (build 11.0.11+9-LTS, mixed mode)
    

    查看当前 JDK 的安装目录

    /usr/libexec/java_home
    

    输出

    /Library/Java/JavaVirtualMachines/jdk11.0.11/Contents/Home
    

    查看已安装的 JDK 版本及目录

    所有版本

    /usr/libexec/java_home -V
    

    输出

    Matching Java Virtual Machines (3):
    
    11.0.11 (x86_64) "Azul Systems, Inc." - "Zulu 11.48.21" /Library/Java/JavaVirtualMachines/jdk11.0.11/Contents/Home
    
    1.8.261.12 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
    
    1.8.0_172 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home
    
    /Library/Java/JavaVirtualMachines/jdk11.0.11/Contents/Home
    

    也可以指定版本

    /usr/libexec/java_home -V 1.8
    

    输出

    1.8.261.12 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
    
    1.8.0_172 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home
    

    https://www.macz.com/?id=MTk4Mjg0Jl8mMTAxLjIyOC44NS4xODY%3D

    Jdk多版本切换(Mac)

    1、安装不同版本jdk(可以到官方直接下载安装)
    2、编辑.bash_profile文件(在根目录底下)

    touch .base_profile  创建该文件(一般不需要创建)
    
    open .bash_profile   打开该文件
    
    source .bash_profile 使该文件生效
    
    # 设置 jdk 8
    JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home
    # 设置 jdk 11
    JAVA_11_HOME=/Library/Java/JavaVirtualMachines/jdk11.0.11/Contents/Home
    
    
    #alias命令动态切换JDK版本
    alias jdk8="export JAVA_HOME=$JAVA_8_HOME"
    alias jdk11="export JAVA_HOME=$JAVA_11_HOME"
    
    export JAVA_HOME="/usr/libexec/java_home"  #最后安装的版本,这样当自动更新时,始终指向最新版本
    
    
    PATH=$PATH:$JAVA_HOME/bin
    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export JAVA_HOME PATH CLASSPATH
    export PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:${JAVA_HOME}:${JAVA_HOME}/bin" 
    
    

    通过输入jdk8便可以切换到jdk1.8
    输入jdk11便可以切换到jdk11

    相关文章

      网友评论

        本文标题:mac jdk多版本切换

        本文链接:https://www.haomeiwen.com/subject/wwzjbltx.html