Mac安装多个JDK并实现动态切换

 更新时间:2023年07月21日 15:26:03   作者:JK凯  
有时候我们有多个项目需要使用多个版本JDK,本文主要介绍了Mac安装多个JDK并实现动态切换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

有时候我们有多个项目需要使用多个版本JDK。这篇文章讲讲Mac下安装多个JDK并实现动态切换。

一、安装JDK

1. 安装OracleJDK

www.oracle.com/java/technologies/downloads/

2. 安装OpenJDK

learn.microsoft.com/zh-cn/java/openjdk/download

二、多个JDK的切换

可以用下列命令来看所有安装的JDK

/usr/libexec/java_home -V

配置多个JDK环境变量

vim ~/.bash_profile

写入以下内容

export JAVA_8_HOME="$(/usr/libexec/java_home -v 1.8)"
export JAVA_17_HOME="$(/usr/libexec/java_home -v 17)"
alias jdk8='export JAVA_HOME=$JAVA_8_HOME'
alias jdk17='export JAVA_HOME=$JAVA_17_HOME'
export JAVA_HOME=$JAVA_8_HOME

我这里是安装的JDK8和JDK17,如果各位不一样可以改成自己的JDK版本,其中/usr/libexec/java_home -v 1.8是看自己每个版本的JDK安装路径,这样就是动态配置。
配置完成后,需要刷新配置文件生效

source ~/.bash_profile

三、验证JDK当前版本

查看当前JDK版本

java -version

在命令行输入jdk8或jdk17来动态切换JDK版本。

这样就可以实现JDK版本的动态切换了。

到此这篇关于Mac安装多个JDK并实现动态切换的文章就介绍到这了,更多相关Mac安装JDK并动态切换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java中redisTemplate注入失败NullPointerException异常问题解决

    Java中redisTemplate注入失败NullPointerException异常问题解决

    这篇文章主要介绍了Java中redisTemplate注入失败NullPointerException异常问题解决,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2023-08-08
  • 深入理解Java基础中的集合框架

    深入理解Java基础中的集合框架

    Java集合框架(Java Collections Framework, JCF)也称容器,这里可以类比 C++中的 STL,在这里主要对如下部分进行源码分析,及在面试中常见的问题,例如,在阿里面试常问到的 HashMap和ConcurrentHashMap原理等等,深入源码分析是面试中必备的技能
    2023-08-08
  • Java 线程同步详解

    Java 线程同步详解

    这篇文章主要给大家详细介绍的是Java 线程同步的相关问题及代码示例,有需要的小伙伴可以参考下
    2016-03-03
  • SpringSecurity添加图形验证码认证实现

    SpringSecurity添加图形验证码认证实现

    本文主要介绍了SpringSecurity添加图形验证码认证实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • java网上商城开发之邮件发送功能(全)

    java网上商城开发之邮件发送功能(全)

    这篇文章主要介绍了java网上商城开发之邮件发送功能,第一部分介绍了环境配置,第二部分则介绍了具体实现代码,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • Java中IO的NIO通道解析

    Java中IO的NIO通道解析

    这篇文章主要介绍了Java中IO的NIO通道解析,NIO 提供了与传统 BIO 模型中的 Socket 和 ServerSocket 相对应的 SocketChannel 和 ServerSocketChannel 两种不同的套接字通道实现,需要的朋友可以参考下
    2024-01-01
  • MyBatis-Plus中MetaObjectHandler没生效完美解决

    MyBatis-Plus中MetaObjectHandler没生效完美解决

    在进行测试时发现配置的MyMetaObjectHandler并没有生效,本文主要介绍了MyBatis-Plus中MetaObjectHandler没生效完美解决,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • Java替换int数组中重复数据的方法示例

    Java替换int数组中重复数据的方法示例

    这篇文章主要介绍了Java替换int数组中重复数据的方法,涉及java针对数组的遍历、转换、判断等相关操作技巧,需要的朋友可以参考下
    2017-06-06
  • Java中实现文件上传下载的三种解决方案(推荐)

    Java中实现文件上传下载的三种解决方案(推荐)

    这篇文章主要介绍了Java中实现文件上传下载的三种解决方案的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • 聊聊Mybatis反射之ObjectWrapper的使用

    聊聊Mybatis反射之ObjectWrapper的使用

    本文主要介绍了Mybatis反射之ObjectWrapper的使用,文中根据实例编码详细介绍的十分详尽,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03

最新评论