Mac修改默认jdk版本的方法总结

 更新时间:2024年12月23日 10:28:08   投稿:daisy  
这篇文章主要介绍了Mac修改默认jdk版本的相关资料,文中详细介绍了如何将Java版本从Java 17降低到Java 8,并通过修改.bash_profile文件来永久生效,需要的朋友可以参考下

当前会话生效

这里演示将 Java 17 版本降低到 Java 8

查看已安装的 Java 版本:

在终端(Terminal)中运行以下命令,查看已安装的 Java 版本列表

/usr/libexec/java_home -V

设置默认 Java 版本:

找到 Java 8 的安装路径,然后在终端中运行以下命令来设置 Java 8 为默认的 Java 版本:

export JAVA_HOME=`/usr/libexec/java_home -v 1.8`

验证默认 Java 版本:

运行以下命令验证 Java 版本是否已成功切换到 Java 8:

java -version

永久生效

打开bash_profile:

 open .bash_profile  

.bash_profile 是一个配置文件,用于定制 Bash shell 的启动行为。它通常用于登录时初始化用户的环境,比如设置环境变量、别名、路径等。

.bash_profile 仅在 登录 shell 中加载,即当你通过登录(如 SSH)或启动一个登录终端时,Bash 会执行 .bash_profile 文件。

编辑文件内容:

这里的JAVA_HOME_8为自己jdk所在目录,一般都在/Library/Java/JavaVirtualMachines

# JDK Config
JAVA_HOME_8=/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home 
export JAVA_HOME=$JAVA_HOME_8
CLASS_PATH="$JAVA_HOME/lib"
PATH="$PATH:$JAVA_HOME/bin"

确认修改:

source .bash_profile

jdk多版本切换

默认是jdk8,修改export JAVA_HOME=$JAVA_HOME_8或$JAVA_HOME_17​即可。

这里设置了两个版本,方便随时切换(有的软件会有jdk版本限制)

# JDK Config
JAVA_HOME_8=/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home
JAVA_HOME_17=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
 
export JAVA_HOME=$JAVA_HOME_8
alias jdk8="export JAVA_HOME=$JAVA_HOME_8 && echo current JDK has switched to oracle jdk version 1.8. && java -version"
alias jdk17="export JAVA_HOME=$JAVA_HOME_17 && echo current JDK has switched to openjdk version 17. && java -version"
 
CLASS_PATH="$JAVA_HOME/lib"
PATH="$PATH:$JAVA_HOME/bin"

临时切换演示:注意该方法的版本切换只在当前窗口生效

总结 

到此这篇关于Mac修改默认jdk版本的文章就介绍到这了,更多相关Mac修改默认jdk版本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于CyclicBarrier和CountDownLatch的使用区别说明

    基于CyclicBarrier和CountDownLatch的使用区别说明

    这篇文章主要介绍了基于CyclicBarrier和CountDownLatch的使用区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • springboot 动态数据源的实现方法(Mybatis+Druid)

    springboot 动态数据源的实现方法(Mybatis+Druid)

    这篇文章主要介绍了springboot 动态数据源的实现方法(Mybatis+Druid),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • map实现按value升序排序

    map实现按value升序排序

    map内部是按照hash算法存储的,但如果能对map排序在某些时候还是有用的,下面实现对map按照value升序排序,实现对map按照key排序,大家参考使用吧
    2014-01-01
  • Java反射通过Getter方法获取对象VO的属性值过程解析

    Java反射通过Getter方法获取对象VO的属性值过程解析

    这篇文章主要介绍了Java反射通过Getter方法获取对象VO的属性值过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • 关于SpringBoot中的跨域问题

    关于SpringBoot中的跨域问题

    这篇文章主要介绍了关于SpringBoot中的跨域问题,同源策略是由Netscape提出的一个著名的安全策略,它是浏览器最核心也最基本的安全功能,现在所有支持JavaScript的浏览器都会使用这个策略,需要的朋友可以参考下
    2023-08-08
  • Java数据结构与算法学习之循环链表

    Java数据结构与算法学习之循环链表

    循环链表是另一种形式的链式存储结构。它的特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环。本文将为大家详细介绍一下循环链表的特点与使用,需要的可以了解一下
    2021-12-12
  • springboot中PostMapping正常接收json参数后返回404问题

    springboot中PostMapping正常接收json参数后返回404问题

    这篇文章主要介绍了springboot中PostMapping正常接收json参数后返回404问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Java IO流常用字节字符流原理解析

    Java IO流常用字节字符流原理解析

    这篇文章主要介绍了Java IO流常用字节字符流原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • 如何解决IDEA使用Tomcat控制台中文出现乱码问题

    如何解决IDEA使用Tomcat控制台中文出现乱码问题

    这篇文章主要介绍了如何解决IDEA使用Tomcat控制台中文出现乱码问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • springboot启动不了也不报错的问题及解决

    springboot启动不了也不报错的问题及解决

    这篇文章主要介绍了springboot启动不了也不报错的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05

最新评论