惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
博客园 - 司徒正美
博客园_首页
Jina AI
Jina AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
月光博客
月光博客
I
InfoQ
M
MIT News - Artificial intelligence
T
Tailwind CSS Blog
L
LangChain Blog
Last Week in AI
Last Week in AI
A
About on SuperTechFans
B
Blog
博客园 - 叶小钗
雷峰网
雷峰网
H
Help Net Security
WordPress大学
WordPress大学
大猫的无限游戏
大猫的无限游戏
博客园 - 【当耐特】
云风的 BLOG
云风的 BLOG
Microsoft Azure Blog
Microsoft Azure Blog
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

微风静语

用 codebase-memory-mcp 给 AI 编程加一层“代码记忆” EchoCraft - 专为独立开发者和小型团队打造的产品官网主题 Halo 站长必备:外链安全与流量分析神器——“链接工具箱”重磅升级! Halo插件开发:java17旧项目迁移至java21项目记录 Halo插件|一个面向创作者的多功能媒体处理工具集 分布式事务详解:从入门到精通 让你的网站初步适配PWA Halo主题 - 微浸:以轻量构建美学,用细节定义体验 深入理解Python爬虫技术:原理、实现与实践 Halo-2.20 新特性:自定义登录页面模版 vue3 中父子组件数据传输踩坑 将你的服务运维面板从宝塔替换为1panel Python实战项目:外星人入侵(源码分享) theme-hao主题适配友链自助提交插件 plugin-artalk 插件保姆级使用教程 plugin-blog-hao 插件部分功能演示 halo 插件开发踩坑记录(一) Thymeleaf 模版引擎语法浅记 信息洪流中的自我救赎 memso API 不完全指南 基础语法:从CPU角度看变量、数组、类型、运算、跳转、函数等语法 halo-theme-hao主题:artalk评论区美化 衡量个人成长 halo-theme-hao 主题魔改教程 分享一个魔改的 Artalk 评论系统邮件模版 halo-theme-hao 主题标签记录 开发一个 Halo2.0 的安全条跳转中台插件! Mac 软件推荐:使用 Mac 一年半来,我一直在用的软件! TypeScript教程---面向对象编程 软件版本命名规范
mac 系统里如何管理多个jdk版本
webjing · 2024-06-29 · via 微风静语

问题由来

随着开发技术的不断更新迭代,jdk8 独占一头的时代已经过去了,现在好多的项目渐渐开始转型到 jdk11、 jdk17了,面对这些新的项目所需要的jdk环境,总不能用一次安装一次吧,如果能够像python的pyenv工具一样,能够管理多个环境版本的jdk,这样就可以在不同的项目里直接一行命令切换相应的jdk环境,而不用再次去下载配置。

那么怎么实现 mac 环境下多版本 jdk 的管理,我采用如下的方式:

解决方案

  • 下载好自己需要的 jdk 版本,我这里下载了常用 8、11、17。下载地址,直接下载 .dmg 的jdk安装包。

  • 在 mac 自己的用户目录下找到系统自定义配置文件 .bash_profile 文件

  • 配置每个版本的 JAVA_HOME 环境变量

    # Java jdk 环境变量配置
    export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
    export JAVA_11_HOME=/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home
    export JAVA_17_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
    
  • 为每个 jdk 版本起一个别名,这个别名就是自己在终端切换时的命令行语句,根据个人习惯命名即可

    # 切换jdk环境
    alias jdk8="export JAVA_HOME=$JAVA_8_HOME"
    alias jdk11="export JAVA_HOME=$JAVA_11_HOME"
    alias jdk17="export JAVA_HOME=$JAVA_17_HOME"
    
  • 设置一个默认的 jdk 环境版本,比如我这里默认 jdk8

    export JAVA_HOME=$JAVA_8_HOME
    
  • 重载配置文件

    source ~/.bash_profile
    

现在,你可以用你配置的别名来切换jdk的版本了!我默认的是 jdk8,使用了自定义的切换命令 jdk11 之后,成功切换!jdk-switch-tuya.webp