MacOS安装SDKMan管理Java版本

文章目录

  • 1 简介
  • 2 安装与卸载
    • 2.1 安装
    • 2.2 卸载
  • 3 使用
    • 3.1 查看其他工具:支持 Ant, Maven 等
    • 3.2 查看Java版本
    • 3.3 安装Java,加上相关的版本
    • 3.4 设置Java版本(全局)
    • 3.5 只在当前窗口生效
    • 3.6 卸载
        • 1 默认环境无法卸载
  • 4 jdk安装的位置
  • 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. 下载
curl -s "https://get.sdkman.io" | bash

需要外网!

  1. 安装
source "$HOME/.sdkman/bin/sdkman-init.sh"
  1. 验证安装
sdk version

在这里插入图片描述

2.2 卸载

  1. 移除文件
tar zcvf ~/sdkman-backup_$(date +%F-%kh%M).tar.gz -C ~/ .sdkman
rm -rf ~/.sdkman
  1. 删除配置,编辑 .zshrc
    在这里插入图片描述

删除以上内容

source .zshrc

3 使用

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

sdk list

在这里插入图片描述

3.2 查看Java版本

sdk list java

在这里插入图片描述

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

sdk install java <version>

在这里插入图片描述

在这里插入图片描述

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

3.4 设置Java版本(全局)

sdk default java <version>

在这里插入图片描述

3.5 只在当前窗口生效

sdk use java <version>

在这里插入图片描述

查看当前的版本

sdk current java

或者

java -version

3.6 卸载

sdk uninstall java <version>
1 默认环境无法卸载

在这里插入图片描述

更换环境后卸载

在这里插入图片描述

4 jdk安装的位置

cd ~/.sdkman
cd condidates/

这里是sdk的位置

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1486372.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

推荐使用阿贝云免费云服务器、免费虚拟主机

官网地址&#xff1a;https://www.abeiyun.com 阿贝云的免费云服务器简直太棒了&#xff01; 首先&#xff0c;它的性能表现超出了我的预期。在使用过程中&#xff0c;服务器的响应速度非常快&#xff0c;无论是处理日常的网页浏览请求&#xff0c;还是运行一些小型的应用程序…

振荡器和谐振器的区别

首先了解一阶电路知识 一阶电路基础知识-CSDN博客 振荡器&#xff08;Oscillation&#xff09; 振荡器是一种在无外部激励信号下&#xff0c;它能够自激振荡&#xff0c;产生持续交变电压或电流输出&#xff0c;产生连续振荡信号的电路元件。它通过正反馈回路将一部分输出信号…

C++ 设计模式(五)——状态模式

状态模式 序言理解源码 序言 设计模式只是一个抽象的设计模式方法&#xff0c;并不是一个固定使用的搭配&#xff0c;就算是普通switch语句&#xff0c;Map&#xff0c;乃至状态机都是状态模式的其中一种实现方法 状态模式看起来好像和策略模式差不多&#xff0c;主要是其的侧…

企业快速获客-AI机器人批量筛选

那么企业利用AI机器人进行快速获客和批量筛选时&#xff0c;可以遵循以下步骤和策略&#xff0c;以确保高效、准确地获取目标客户&#xff1a; 1. 明确筛客需求 - 企业首先需要明确自身的筛客需求&#xff0c;例如筛选目标客户群、快速识别意向客户等。 - 明确需求有助于…

领夹麦克风哪个品牌好,电脑麦克风哪个品牌好,热门麦克风推荐

​在信息快速传播的时代&#xff0c;直播和视频创作成为了表达与交流的重要方式。对于追求卓越声音品质的创作者而言&#xff0c;一款性能卓越的无线麦克风宛如一把利剑。接下来&#xff0c;我要为大家介绍几款备受好评的无线麦克风&#xff0c;这些都是我在实际使用中体验良好…

ocrbench:on the hidden mystery of ocr in large multimodel models

【多模态】29、OCRBench | 为大型多模态模型提供一个 OCR 任务测评基准-CSDN博客文章浏览阅读1.9k次,点赞26次,收藏22次。本文主要介绍 OCRBench_ocrbenchhttps://blog.csdn.net/jiaoyangwm/article/details/138414709OpenCompass司南 - 评测榜单评测榜单旨在为大语言模型和多…

项目实战--C#实现图书馆信息管理系统

本项目是要开发一个图书馆管理系统&#xff0c;通过这个系统处理常见的图书馆业务。这个系统主要功能是&#xff1a;&#xff08;1&#xff09;有客户端&#xff08;借阅者使用&#xff09;和管理端&#xff08;图书馆管理员和系统管理员使用&#xff09;。&#xff08;2&#…

C++如何在main函数开始之前(或结束之后)执行一段逻辑?

1. 问题2. 考察的要点3. 解决策略 3.1. 方案一&#xff1a;使用GCC的拓展功能3.2. 方案二&#xff1a;使用全局变量3.3. 方案三&#xff1a;atexit 4. Demo测试 4.1. 测试代码4.2. 执行结果 5. 程序异常退出场景 5.1. 存在的问题5.2. 解决方案 5.2.1. 原理5.2.2. 示例代码5.2.3…

定义限流和降级后的处理⽅法(Sentinel)

SentinelResource的使用 在定义了资源点之后&#xff0c;我们可以通过 Dashboard 来设置限流和降级策略来对资源点进⾏保护。同时还能通过 SentinelResource 来指定出现异常时的处理策略。 SentinelResource ⽤于定义资源&#xff0c;并提供可选的异常处 理和 fallback 配置项…

Qt5--设置QCustomPlot

在你程序中使用QCustomPlot非常简单&#xff1a; 从下载部分获取QCustomPlot的最新版本。像任何其它常规的类文件一样使用qcustomplot.h和qcustomplot.cpp。 对于QtCreator用户 在左侧边栏中你项目的根项目上右击并且选择Add Existing Files... 在出现的文件对话框中&#xf…

成都云飞浩容文化传媒有限公司是真的吗?

在当今这个数字化浪潮汹涌的时代&#xff0c;电商行业无疑是众多行业中的一颗璀璨明星。作为这个行业的佼佼者&#xff0c;成都云飞浩容文化传媒有限公司凭借其专业的电商服务&#xff0c;已经帮助无数企业和个人在电商领域取得了令人瞩目的成绩。 成都云飞浩容文化传媒有限公…

Android 性能之刷新率设置和管理

目录 1. 刷新率和帧率 2. 多种刷新率 3. 基本原理 3.1 屏幕 & 显示控制器 3.2 Composer Service 4. Framework 策略 4.1基本架构 4.2 刷新率设置项的定义 4.2.1 最低刷新率 4.2.2 默认刷新率 & 默认的用户设置刷新率 4.2.2.1 设置入口 4.2.2.2 设置场景 4…

SmartX 超融合 vs vSAN 8:数据库场景下的性能对比

此前&#xff0c;我们以 vSAN 7 为例&#xff0c;对比了 SmartX 与 VMware 超融合在快照、缓存、I/O 路径上的技术差异&#xff0c;及其带来的性能影响。不同于 vSAN 7&#xff0c;vSAN 8 引入了快速存储架构 ESA&#xff08;Express Storage Architecture&#xff09;&#xf…

企业私有云的部署都有哪些方式?

如今常见的企业私有云的部署方式有自建私有云、托管私有云、虚拟私有云、混合云、容器化私有云、本地数据中心部署等。如今&#xff0c;企业私有云的部署呈多样化趋势&#xff0c;以用来满足各个企业的具体需求。以下是RAK部落小编为大家汇总的企业私有云常见的部署方式&#x…

Visual Studio调试Web项目

一、编译运行调试&#xff08;VS快捷键&#xff1a;CtrlF5&#xff09; 缺点&#xff1a;编译运行项目太慢&#xff0c;整体程序有些编译报错运行不了 二、附加到进程调试&#xff08;VS快捷键&#xff1a;CtrlAltP&#xff0c;选择w3wp.exe&#xff09; 无需编译&#xff0c;速…

如何在WeMapEngine中加载显示地图

我们在《全新跨平台GIS引擎将问世》一文中&#xff0c;为你分享了我们自主研发了一款全新跨平台的国产化GIS引擎——WeMapEngine。 现在再为你分享一下&#xff0c;如何在WeMapEngine中加载地图服务的方法&#xff0c;不过该产品暂未发布&#xff0c;因此暂时还无法立即体验。…

HormonyOs之 路由简单跳转

Navigation路由相关的操作都是基于页面栈NavPathStack提供的方法进行&#xff0c;每个Navigation都需要创建并传入一个NavPathStack对象&#xff0c;用于管理页面。主要涉及页面跳转、页面返回、页面替换、页面删除、参数获取、路由拦截等功能。 Entry Component struct Index …

Spring -- 三层架构

T04BF &#x1f44b;专栏: 算法|JAVA|MySQL|C语言 &#x1faf5; 今天你敲代码了吗 应用分层 介绍 在阿里的开发手册里,关于工程结构部分,定义的常见工程的应用分层结构 那么什么是应用分层呢? 应用分层是一种软件开发设计思想,他将应用程序分层N个层次.这N个层次分别负责各…

vue3【详解】内置组件 Transition

用于给元素或组件进入和离开页面添加过渡动画 使用场景 v-if 切换 <button click"show !show">Toggle</button> <Transition><p v-if"show">hello</p> </Transition>v-show 切换 动态组件切换 <Transition name&…

Adobe国际认证详解-ae视频剪辑

AE视频剪辑&#xff0c;即After Effects视频剪辑&#xff0c;是数字媒体时代的一项重要技能。AE不仅提供了丰富的特效和动画功能&#xff0c;还让视频剪辑变得更加高效和有趣。对于想要在职场上脱颖而出、拓宽就业机遇的人来说&#xff0c;掌握AE视频剪辑技能无疑是一个明智的选…