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

相关推荐
测试19982 小时前
软件测试 - 单元测试总结
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
Mahir084 小时前
Spring 循环依赖深度解密:从问题本质到三级缓存源码级解析
java·后端·spring·缓存·面试·循环依赖·三级缓存
曲幽4 小时前
我用了FastApiAdmin后,连夜把踩过的坑都整理出来了
redis·python·postgresql·vue3·fastapi·web·sqlalchemy·admin·fastapiadmin
RyFit5 小时前
SpringAI 常见问题及解决方案大全
java·ai
石山代码5 小时前
C++ 内存分区 堆区
java·开发语言·c++
前端若水6 小时前
会话管理:创建、切换、删除对话历史
前端·人工智能·python·react.js
绝知此事6 小时前
【算法突围 01】线性结构与哈希表:后端开发的收纳术
java·数据结构·算法·面试·jdk·散列表
无风听海6 小时前
C# 隐式转换深度解析
java·开发语言·c#
涛声依旧-底层原理研究所6 小时前
残差连接与层归一化通俗易懂的详解
人工智能·python·神经网络·transformer
一只大袋鼠6 小时前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git