SDKMAN!软件开发工具包管理器

认识一下SDKMAN!(The Software Development Kit Manager)是您在Unix系统上轻松管理多个软件开发工具包的可靠伴侣。想象一下,有不同版本的SDK,需要一种无感知的方式在它们之间切换。SDKMAN拥有易于使用的命令行界面(CLI)和API。其前身为GVM,Groovy环境管理器,SDKMAN从apt、pip、rvm、rbenv甚至Git等熟悉的工具中汲取灵感。将其视为您有用的工具包朋友,随时为你简化SDK管理。

官方网站:https://sdkman.io/

  • 配置文件在~/.sdkman/etc/config中
sh 复制代码
sdkman_auto_answer=false
sdkman_auto_selfupdate=false
sdkman_insecure_ssl=false
sdkman_curl_connect_timeout=7
sdkman_curl_max_time=10
sdkman_beta_channel=false
sdkman_debug_mode=false
sdkman_colour_enable=true
sdkman_auto_env=false
sdkman_rosetta2_compatible=false
sdkman_checksum_enable=true
sdkman_selfupdate_feature=true
sdkman_auto_complete=true
sdkman_auto_update=true
  • 查看当前SDKMAN版本:
sh 复制代码
sdk version
  • 获取基本的帮助
sh 复制代码
sdk help
# 执行后和上面的相似
sdk help install
  • 更新SDKMAN!到最新版本
sh 复制代码
sdk selfupdate force

这里的selfupdate命令是用来更新SDKMAN!自身的,而force参数确保即使在检查到没有新版本时也会执行更新操作。

  • 获取可以安装服务列表
sh 复制代码
sdk list
  • 获取候选服务版本列表
sh 复制代码
sdk list maven

结果如下:

sh 复制代码
================================================================================
Available Maven Versions
================================================================================
     4.0.0-beta-4        3.8.5               3.3.1                              
     4.0.0-beta-3        3.8.4               3.2.5                              
     3.9.9               3.8.3               3.2.3                              
     3.9.8               3.8.2               3.2.2                              
     3.9.7               3.8.1               3.2.1                              
     3.9.6               3.6.3               3.1.1                              
     3.9.5               3.6.2               3.1.0                              
     3.9.4               3.6.1               3.0.5                              
     3.9.3               3.6.0               3.0.4                              
     3.9.2               3.5.4                                                  
     3.9.1               3.5.3                                                  
     3.9.0               3.5.2                                                  
     3.8.8               3.5.0                                                  
     3.8.7               3.3.9                                                  
     3.8.6               3.3.3                                                  

================================================================================
+ - local version
* - installed
> - currently in use
================================================================================
  • 指定默认版本,仅限当前命令行终端

    在当前命令行终端指定使用版本,要注意,这将键切换当前shell的候选版本。

    sdk use maven 3.6.3

  • 指定默认版本,当前命令行终端及其它终端都将使用此版本

选择将指定的版本设置为默认的版本,这将确保所有后续shell都将使用3.6.3版本。

复制代码
sdk default maven 3.6.3
  • 查看当前使用的候选服务版本
sh 复制代码
# 查看当前默认的所有服务
sdk current
# 查看指定服务当前版本
sdk current maven
  • home目录
sh 复制代码
xx:~ xxx$ sdk home springboot 2.3.0.RELEASE
==== INTERNET NOT REACHABLE! ===================================================

 Some functionality is disabled or only partially available.
 If this persists, please enable the offline mode:

   $ sdk offline

================================================================================
  • Flush

    移除SDKMAN!的临时目录.sdkman/tmp,如果手动移除可能会破坏SDKMAN!

sh 复制代码
sdk flush
  • update

定期SDKMAN!需要刷新以了解新的(或删除的候选人)。当候选元数据可能已经过时时,会显示一条警告,并说明如何更新。只需运行以下命令,候选缓存将被刷新,新的候选缓存将可供安装:

sh 复制代码
sdk update

官方网站:https://sdkman.io/

开源SDK:https://github.com/mingyang66/spring-parent

相关推荐
IT_陈寒1 小时前
Java线程池这破玩意,差点让我周末加班排查到凌晨
前端·人工智能·后端
弈栈录2 小时前
Java AI 应用的异步化与高并发设计
java·后端·架构
凤山老林2 小时前
Spring Boot 集成 iText 7 实现动态 PDF 生成与电子签章:合同、报表场景实战
spring boot·后端·pdf·itext7·电子签章
孙启超2 小时前
【AI开发之Rust】第 19 课:UniFFI 导出核心能力
开发语言·后端·rust
ServBay3 小时前
基于Jev的浏览器Agent插件狂揽 21k star,3分钟教你解放双手
后端·aigc·ai编程
Json____3 小时前
家居装修 AI 智能咨询助手:让装修咨询从“大海捞针“变成“一问即答“
java·后端·vue3·it学习·wwwoop.com
Apifox4 小时前
Apifox 9 月更新|CLI 能力升级、GitLab 私有化部署接入与产品体验优化
前端·后端·测试
鱼弦4 小时前
Agent智能体 vs 传统运维:职业天花板的3倍差距?
后端
暗夜行者之光4 小时前
LangGraph 实战:用 LangSmith 可视化追踪 AI 智能体执行轨迹
后端
鱼弦4 小时前
Agent 的工具选择策略:从硬编码到动态决策
后端