MacOS安装SDKMan管理Java版本

文章目录

  • [1 简介](#1 简介)
  • [2 安装与卸载](#2 安装与卸载)
    • [2.1 安装](#2.1 安装)
    • [2.2 卸载](#2.2 卸载)
  • [3 使用](#3 使用)
    • [3.1 查看其他工具:支持 Ant, Maven 等](#3.1 查看其他工具:支持 Ant, Maven 等)
    • [3.2 查看Java版本](#3.2 查看Java版本)
    • [3.3 安装Java,加上相关的版本](#3.3 安装Java,加上相关的版本)
    • [3.4 设置Java版本(全局)](#3.4 设置Java版本(全局))
    • [3.5 只在当前窗口生效](#3.5 只在当前窗口生效)
    • [3.6 卸载](#3.6 卸载)
        • [1 默认环境无法卸载](#1 默认环境无法卸载)
  • [4 jdk安装的位置](#4 jdk安装的位置)
  • [5 与IDEA集成](#5 与IDEA集成)
  • 参考

1 简介

用过Conda便携Python程序时,可以通过conda env 来管理Python的版本和环境,类似的,Java也有相关的工具,就是今天的SDKMain

通过SDKMan,可以轻松安装相关的Java版本,并设置当前环境和系统环境的Java版本,省去环境变量的切换

2 安装与卸载

官方: https://sdkman.io/install

2.1 安装

在类Unix系统(MacOS, Linux, WSL)上安装

  1. 下载
shell 复制代码
curl -s "https://get.sdkman.io" | bash

需要外网!

  1. 安装
shell 复制代码
source "$HOME/.sdkman/bin/sdkman-init.sh"
  1. 验证安装
shell 复制代码
sdk version

2.2 卸载

  1. 移除文件
shell 复制代码
tar zcvf ~/sdkman-backup_$(date +%F-%kh%M).tar.gz -C ~/ .sdkman
rm -rf ~/.sdkman
  1. 删除配置,编辑 .zshrc

删除以上内容

shell 复制代码
source .zshrc

3 使用

3.1 查看其他工具:支持 Ant, Maven 等

shell 复制代码
sdk list

3.2 查看Java版本

shell 复制代码
sdk list java

3.3 安装Java,加上相关的版本

shell 复制代码
sdk install java <version>

有的JDK下载不下来,比如Tencent的

3.4 设置Java版本(全局)

shell 复制代码
sdk default java <version>

3.5 只在当前窗口生效

shell 复制代码
sdk use java <version>

查看当前的版本

shell 复制代码
sdk current java

或者

shell 复制代码
java -version

3.6 卸载

shell 复制代码
sdk uninstall java <version>
1 默认环境无法卸载

更换环境后卸载

4 jdk安装的位置

shell 复制代码
cd ~/.sdkman
cd condidates/

这里是sdk的位置

shell 复制代码
cd java
ls

5 与IDEA集成

打开项目 mudule settings

点击左侧SDK选项,在右侧的文件夹中查看不同的版本

随后又安装的JDK


参考

SDKMan多版本Java包管理工具 https://www.bilibili.com/video/BV1di4y1Y7wE

使用SDKMAN安装和管理多个JDK版本 https://www.didispace.com/installation-guide/dev-env/sdkman.html

相关推荐
莫得感情 o11 分钟前
踩坑 - 压测三轮后 502:一个默认 10 的连接池如何拖垮整个服务
java
Escalating_xu12 分钟前
【Linux线程】线程控制全解析:终止、join/detach、cancel、线程栈与 NPTL(下篇)
java·linux·运维
2602_9599609222 分钟前
电商大厂Java面试实录:Spring Boot/JVM/Redis/Kafka/微服务/安全/测试全解析
java·jvm·spring boot·redis·面试题
高洁0124 分钟前
智能体的“记忆”难题
python·深度学习·机器学习·transformer
三十岁老牛再出发32 分钟前
8月21日总结
c++·python
吃饱了得干活38 分钟前
限界上下文之后:微服务怎么拆、上下文怎么聊?
java·后端·架构
草莓熊Lotso41 分钟前
【Linux网络加餐】手动部署:SSH 与 Web 服务实战 + 底层原理全解析
linux·运维·网络·人工智能·python·langchain·ssh
weixin_4407305044 分钟前
python+request实现接口-参数化小结
开发语言·python
yngsqq1 小时前
窗体快速取消
java·开发语言
岁月如歌77861 小时前
一次讲透 Redis 缓存击穿、穿透、雪崩,从原理到实战解决方案
java·后端·架构