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 小时前
React Hooks 实战:这5个自定义Hook让我开发效率提升了40%
前端·人工智能·后端
开始学java1 小时前
异常机制-异常分类
后端
小虚竹and掘金1 小时前
Claude Sonnet 4.5 编程王位世袭罔替!全网首发最全1.3万字详细测评,国内直接使用
后端
做运维的阿瑞2 小时前
使用 Python 打造一个轻量级系统信息查看器
开发语言·后端·python·系统架构
起风了___2 小时前
Docker 一键部署指南:GitLab、Nacos、Redis、MySQL 与 MinIO 全解析
后端·docker
用户4099322502122 小时前
PostgreSQL视图不存数据?那它怎么简化查询还能递归生成序列和控制权限?
后端·ai编程·trae
karry_k2 小时前
CopyOnWriteArraySet
后端
spmcor3 小时前
NestJS 统一响应格式最佳实践:标准化 API 返回结构
后端
SamsongSSS3 小时前
Django之APPEND_SLASH配置爬坑
后端·python·django
EMQX3 小时前
ESP32 + MCP over MQTT:基于大模型打造人格化情感智能体
后端