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

相关推荐
陈随易4 小时前
Lerna-Lite 5.0发布解析
前端·后端·程序员
涡能增压发动积1 天前
同样的代码循环 10次正常 循环 100次就抛异常?自定义 Comparator 的 bug 让我丢尽颜面
后端
Wenweno0o1 天前
0基础Go语言Eino框架智能体实战-chatModel
开发语言·后端·golang
swg3213211 天前
Spring Boot 3.X Oauth2 认证服务与资源服务
java·spring boot·后端
tyung1 天前
一个 main.go 搞定协作白板:你画一笔,全世界都看见
后端·go
gelald1 天前
SpringBoot - 自动配置原理
java·spring boot·后端
殷紫川1 天前
深入拆解 Java 内存模型:从原子性、可见性到有序性,彻底搞懂 happen-before 规则
java·后端
元宝骑士1 天前
FIND_IN_SET使用指南:场景、优缺点与MySQL优化策略
后端·mysql
用户31952370347711 天前
记一次 PostgreSQL WAL 日志撑爆磁盘的排查
后端
nghxni1 天前
LightESB PlatformHttp v3.0.0:JSONPath 订单转换 HTTP 路由实战
后端