【工具】JDK版本不好管理,SDKMAN来帮你

news2024/12/28 6:03:27

前言

🍊缘由

SDKMAN真是好,JDK切换没烦恼

在这里插入图片描述

🐣 闪亮主角

大家好,我是JavaDog程序狗

今天跟大家能分享一个JDK版本管理工具SDKMAN

当你同时使用JDK 1.8的和JDK 17并行维护两个项目时。每次在两个项目之间并行开发,切换版本就使我们感到头大

SDKMAN此工具就解决了JDK切换痛点,方便我们并行开发,遂跟大家唠唠SDKMAN

在这里插入图片描述

😈 你想听的故事

最近狗哥开发任务较重,终于空闲下来跟大家分享一下…

关于SDKMAN,是同组小帅哥推荐使用。感觉使用体验和nvm一样,如果不了解nvm可以看一下本狗【工具】用nvm管理nodejs版本切换,真香!

遂狗哥总结SDKMAN使用攻略,与小伙伴一起分享这个知识点,让切换JDK变得轻松惬意

正文

🎯主要目标

1.SDKMAN是什么

2.SDKMAN怎么安装

3.SDKMAN怎么用

🍪目标讲解

一.SDKMAN简介

SDKMAN是一个开源工具,用于帮助开发者在类Unix系统(如Linux、macOS以及Windows的WSL)上管理多个版本的软件开发工具包

它提供了一个命令行界面(CLI),使得安装、切换、删除各种JVM相关工具的不同版本变得非常便捷。这些工具包括但不限于Java、Scala、Groovy、Kotlin、Gradle、Maven等。

主要功能:
  • 安装:快速安装最新或指定版本的工具。
  • 切换:在不同版本之间轻松切换,适用于需要不同版本环境的项目。
  • 卸载:移除不再需要的工具版本。
  • 环境配置:自动配置环境变量,确保安装的工具可以在命令行中直接使用。
  • 版本管理:管理并行版本,使得在同一系统中共存多个版本成为可能。
使用场景:
  • 在同一个机器上维护多个项目的开发,而这些项目依赖于不同版本的Java或其他JVM语言时。
  • 快速尝试某个新版本的构建工具,如Gradle或Maven,而又不想影响现有的开发环境时。

二.win10安装SDKMAN

🌰本示例以win10安装举例

步骤 1: 安装 Git 或 Cygwin

SDKMan 推荐使用 Git Bash 来提供类 Unix 的 shell 环境。如果你还没有安装 Git ,请先安装

Git: 访问 https://git-scm.com/download/win 来下载并安装 Git。完成后,你可以使用 Git Bash 作为你的命令行工具。

步骤 2: 设置GIT环境变量

确保你的系统路径中包含了 Git 的 bin 目录,这样你就可以从任何位置运行 bash 命令。

在这里插入图片描述

能打开如下bash窗口即可

在这里插入图片描述

步骤 3: 安装 SDKMan

打开 Git Bash,然后执行以下命令来安装 SDKMan:

curl -s "https://get.sdkman.io" | bash

在这里插入图片描述

步骤 4: 配置环境变量

安装脚本会自动添加必要的环境变量到你的 ~/.bash_profile 或 ~/.profile 文件中。但是,为了使更改生效,你需要重新加载配置文件或重新启动终端会话。

source "$HOME/.sdkman/bin/sdkman-init.sh"

在这里插入图片描述

步骤 5: 验证安装

最后,验证 SDKMan 是否正确安装。可以通过尝试查看Java版本或其他支持的 SDK 来测试。

找一下jdk版本资源下载列表

sdk list java

在这里插入图片描述

三.使用SDKMAN安装JDK23

步骤 1: 查看JDK下载资源列表
sdk list java

在这里插入图片描述

步骤 2: 下载对应JDK

sdk install java ${Identifier} 这里的占位符替换成上方我们选中的版本

sdk install java 23-amzn

在这里插入图片描述
在这里插入图片描述

总结

通过使用SDKMAN,我们可以轻松管理和切换不同版本的JDK,极大地提升了开发效率。

本文详细介绍了SDKMAN的安装和使用方法,特别是在Windows 10环境下如何通过Git Bash进行安装和配置。

通过简单的命令,如sdk install java 23-amzn和sdk use java 23-amzn,即可快速安装和切换JDK版本。这不仅解决了多项目并行开发时的版本冲突问题,还简化了开发环境的配置过程。

总之,SDKMAN是一款强大的工具,值得每个Java开发者掌握和使用。

🍈猜你想问

如何与狗哥联系进行探讨

关注公众号【JavaDog程序狗】

公众号回复【入群】或者【加入】,便可成为【程序员学习交流摸鱼群】的一员,问题随便问,牛逼随便吹,目前群内已有超过300+个小伙伴啦!!!

🍯猜你喜欢

文章推荐

【实操】Spring Cloud Alibaba AI,阿里AI这不得玩一下(含前后端源码)

【规范】看看人家Git提交描述,那叫一个规矩

【项目实战】SpringBoot+uniapp+uview2打造H5+小程序+APP入门学习的聊天小项目

【项目实战】SpringBoot+uniapp+uview2打造一个企业黑红名单吐槽小程序

【模块分层】还不会SpringBoot项目模块分层?来这手把手教你!

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

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

相关文章

进阶数据库系列(十三):PostgreSQL 分区分表

概述 在组件开发迭代的过程中,随着使用时间的增加,数据库中的数据量也不断增加,因此数据库查询越来越慢。 通常加速数据库的方法很多,如添加特定的索引,将日志目录换到单独的磁盘分区,调整数据库引擎的参…

2.4卷积3

2.4卷积3 文章学习自https://zhuanlan.zhihu.com/p/41609577,详细细节请读原文。 狄拉克 δ \delta δ 函数: δ ( x ) { ∞ , x 0 0 , x ≠ 0 \delta (x){\begin{cases} \infty ,& x0\\ 0,& x\neq 0\end{cases}} δ(x){∞,0,​x0x0​ 并…

小柴冲刺软考中级嵌入式系统设计师系列二、嵌入式系统硬件基础知识(2)嵌入式微处理器基础

目录 冯诺依曼结构 哈佛结构 一、嵌入式微处理器的结构和类型 1、8位、16位、32位处理器的体系结构特点 2、DSP处理器的体系结构特点 3、多核处理器的体系结构特点 二、嵌入式微处理器的异常与中断 1、异常 2、中断 flechazohttps://www.zhihu.com/people/jiu_sheng …

54 循环神经网络RNN_by《李沐:动手学深度学习v2》pytorch版

系列文章目录 文章目录 系列文章目录循环神经网络使用循环神经网络的语言模型困惑度(perplexity)梯度剪裁 循环神经网络 使用循环神经网络的语言模型 输入“你”,更新隐变量,输出“好”。 困惑度(perplexity&#xff…

【递归】8. leetcode 671 二叉树中第二小的节点

题目描述 题目链接:二叉树中第二小的节点 2 解答思路 注意这句话:该节点的值等于两个子节点中较小的一个 二叉树的根节点的值是整棵树中最小的值 本道题所要求的是二叉树中第二小的节点。因为根节点是最小的节点,那么我们只需要找到第一…

HT5169内置BOOST升压的11W I2S输入D类音频功放

1 特性 ● 电源供电 升压输入VBAT:2.5V-5.5V; 升压输出PVDD可调,最高7.5V DVDD/AVDD分辨率:3.3V ● 音频性能 9.0W (VBAT3.7V, PVDD 7.5V, RL3Ω.THDN10%) 11.0W(VBAT3.7V, PVDD 7.5V, RL2Ω.THDN10% 5.5W (VBAT3.7V, PVDD 6.5V, RL4Ω.THDN10%) ● 灵活的…

红米k60至尊版工程固件 MTK芯片 资源预览 刷写说明 与nv损坏修复去除电阻图示

红米k60至尊版机型代码为:corot。 搭载了联发科天玑9200+处理器。此固件mtk引导为MT6985。博文将简单说明此固件的一些特点与刷写注意事项。对于NV损坏的机型。展示修改校验电阻的图示。方便改写参数等 通过博文了解 1💝💝💝-----此机型工程固件的资源刷写注意事项 2…

css 中 ~ 符号、text-indent、ellipsis、ellipsis-2、text-overflow: ellipsis的使用

1、~的使用直接看代码 <script setup> </script><template><div class"container"><p><a href"javascript:;">纪检委</a><a href"javascript:;">中介为</a><a href"javascript:…

曲线图异常波形检测系统源码分享

曲线图异常波形检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Comput…

【cache】浅析四种常用的缓存淘汰算法 FIFO/LRU/LFU/W-TinyLFU

本文浅析淘汰策略与工作中结合使用、选取&#xff0c;并非针对算法本身如何实现的 文章目录 FIFOLFULRUW-TinyLFU实践与优化监控与调整 FIFO first input first output &#xff0c; 先进先出&#xff0c;即最早存入的元素最先取出&#xff0c; 典型数据结构代表&#xff1a;…

SpringCloud-Netflix第一代微服务快速入门

1.springCloud常用组件 Netflix Eureka 当我们的微服务过多的时候&#xff0c;管理服务的通信地址是一个非常麻烦的事情&#xff0c;Eureka就是用来管理微服务的通信地址清单的&#xff0c;有了Eureka之后我们通过服务的名字就能实现服务的调用。 Netflix Ribbon\Feign : 客…

Python精选200Tips:171-175

深度学习实战项目 P171--CIFAR10数据集图像分类(Image Classification)P172--MS COCO数据集物体检测(Object Detection)P173-- MNIST手写数字数据集DCGAN生成P174--基于EasyOCR的字符识别P175--基于Air Quality数据集的变分自编码器(Variational autoEncoder&#xff0c;VAE) 运…

QT版数据采集系统研发过程记录

研发目的&#xff1a;通过智能监测设备将各个变电站运行的电压、电流、温湿度等数据采集汇总到计算机中心服务器&#xff0c;通过系统软件展示各个站点对应的运行工况。 软件架构&#xff1a;使用QT开发跨平台&#xff08;Windows系统、Ubuntu20.04&#xff09;客户端软件、连…

基于MATLAB的苹果外观特征检测

摘 要 本文根据苹果分级判定标准中的两个评定指标&#xff1a;果径和果面缺陷&#xff0c;探讨如何利用MATLAB技术进行苹果外观的特征检测&#xff0c;从而提高苹果品质检测的工作效率。 关键词 MATLAB&#xff1b;苹果分级&#xff1b;果径&#xff1b;果面缺陷 0 引言 …

Pandas -----------------------基础知识(四)

自定义函数 Series 加载数据 import pandas as pd df pd.DataFrame({Age: [20, 25, 30, 35, 40]}) df # 目标: 让 Age 列 的每个元素 num1 num2 def add_nums(x,num1,num2):return x num1 num2 df[Age].apply(add_nums,num1 2,num2 3) 法二 df[Age].apply(lambda x ,num1…

大模型算法入行转行?指南来了!

最近私信问我关于入行、转行方面的问题比较多&#xff0c;就专门写一篇讲讲我的理解。 首先说明一下个人的背景和现状&#xff0c;我本人是本科学历&#xff0c;有互联网大厂搜推方向经验&#xff0c;后来跳到中厂继续做推荐&#xff0c;去年开始做大模型。现在是个小组长&…

用ChatGPT做数据分析与挖掘,爽!

导读&#xff1a;在现代数据分析中&#xff0c;Python凭借其强大的数据处理能力和丰富的库资源成为首选工具。ChatGPT&#xff0c;作为先进的自然语言处理模型&#xff0c;正逐步成为Python数据分析与挖掘的强大辅助工具。 通过ChatGPT的自然语言处理能力&#xff0c;用户可以…

模糊综合评价法详细讲解+Python代码实现

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

敏捷开发与DevOps的有机结合

在当今快速变化的技术环境中&#xff0c;软件开发团队面临着前所未有的挑战。客户需求不断变化&#xff0c;市场竞争激烈&#xff0c;技术更新速度加快&#xff0c;这些因素都要求开发团队具备高度的敏捷性和高效的运营能力。为了应对这些挑战&#xff0c;越来越多的企业选择将…

性能调优知识点(mysql)一

Mysql 索引 索引介绍 1.索引是排好序的数据结构。他的目的是为了提升查询效率。 2.mysql存储引擎分为innodb和myisam。它是用来形容表的。 innodb支持事务、外键、行锁 myisam不支持事务、外键 3.myisam使用3个文件来存储每张表数据&#xff0c;每个文件名以表名开头&#x…