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

相关推荐
Uncertainty!!8 分钟前
在huggingface上制作小demo
开发语言·python·机器学习·huggingface
kill bert11 分钟前
第32周Java微服务入门 Spring开发课程查询功能
java·spring·微服务
武帝为此14 分钟前
【Java网络编程详解】
java·开发语言·网络
xnian_15 分钟前
策略模式实际用处,改吧改吧直接用,两种方式
java·服务器·前端
Protein_zmm19 分钟前
[Linux系统编程]多线程
java·linux·jvm
字节源流29 分钟前
【Spring Cloud Netflix】GateWay服务网关
java·运维·gateway
爱的叹息37 分钟前
关于Spring MVC中@RequestParam注解的详细说明,用于在前后端参数名称不一致时实现参数映射。包含代码示例和总结表格
java·spring·mvc
gqkmiss38 分钟前
Browser-use:基于 Python 的智能浏览器自动化 AI 工具调研与实战
人工智能·python·ai·自动化·浏览器
ChinaRainbowSea1 小时前
5. RabbitMQ 消息队列中 Exchanges(交换机) 的详细说明
java·分布式·后端·rabbitmq·ruby·java-rabbitmq
ml130185288741 小时前
开发一个小程序需要多久时间?小程序软件开发周期
java·小程序·开源软件·软件需求