Java Go SDK 管理工具与最佳实践
流行的版本管理工具
类别 | 工具名称 | GitHub链接 | Star数 |
---|---|---|---|
Java SDK | Jabba | https://github.com/shyiko/jabba | 3.2k |
Jenv | https://github.com/jenv/jenv | 6.2k | |
SDKMan | https://github.com/sdkman/sdkman-cli | 6.4k | |
Go SDK | GVM | https://github.com/moovweb/gvm | 10.9k |
voidint/g | https://github.com/voidint/g | 2.2k | |
Goenv | https://github.com/go-nv/goenv | 2.3k |
Java SDK 管理工具实践
开始之前先看下自己本地的 JDK 版本:
# yuluo @ 💯 Everything wins. in ~ [17:26:49]
$ java -version
openjdk version "23.0.2" 2025-01-21
OpenJDK Runtime Environment Homebrew (build 23.0.2)
OpenJDK 64-Bit Server VM Homebrew (build 23.0.2, mixed mode, sharing)# 卸载 通过 brew install 的 java 和 mvn
brew uninstall --ignore-dependencies java
brew uninstall mvn# 如果不想卸载,需要建立软链接让 sdkman 可以识别到已经安装的 java
# 参考 https://blog.csdn.net/gp_911014/article/details/138579268
这里选择使用 star 数最高的 sdkman。
SDKMan
安装
# 终端中执行
curl -s "https://get.sdkman.io" | bash# 输出如下:
All done!You are subscribed to the STABLE channel.Please open a new terminal, or run the following in the existing one:source "/Users/yuluo/.sdkman/bin/sdkman-init.sh"Then issue the following command:sdk helpEnjoy!!!# 新开一个终端执行:
source "$HOME/.sdkman/bin/sdkman-init.sh"# 检查
$ sdk versionSDKMAN!
script: 5.19.0
native: 0.7.4 (macos aarch64)
使用
Java SDK
# 查看帮助
sdk help
sdk help install# 查看当前的 java sdk
sdk current# 列出可安装的 java sdk
sdk list javaOracle | | 24.0.1 | oracle | | 24.0.1-oracle| | 24 | oracle | | 24-oracle| | 23.0.2 | oracle | | 23.0.2-oracle| | 22.0.2 | oracle | | 22.0.2-oracle| | 21.0.7 | oracle | | 21.0.7-oracle| | 21.0.6 | oracle | | 21.0.6-oracle# 安装一个 java sdk 选择 oracle jdk
# 分别安装 17 和 24 版本
sdk install java 24-oracle
sdk install java 17.0.12-oracle# 使用 java 17
sdk use java 17.0.12-oracleUsing java version 17.0.12-oracle in this shell# 查看当前的 java sdk
sdk current# 切换至 24 版本
sdk use java 24-oracle# 卸载
sdk uninstall java 17.0.12-oracle
Maven
sdkman 还能管理 maven 和 gradle,scala,groovy 等。
# 列出可用的 maven
sdk list maven# 安装
sdk install maven# 查看
mvn -v
如果安装的 sdk 命令没有出现时,执行
source "$HOME/.sdkman/bin/sdkman-init.sh"
即可。
Gradle
gradle 和 maven 同理。
Go SDK 管理工具实践
选择使用 star 数最多的 GVM
安装
zsh < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/13b10b604255360a9a559c2ea23ba42e75cb536e/binscripts/gvm-installer)source ~/.gvm/scripts/gvm
参数设置
# GVM 的安装包获取地址
export GVM_GO_GET='https://golang.google.cn/dl/'# Go proxy https://goproxy.cn/
export GO111MODULE=on
export GOPROXY=https://goproxy.cn
命令使用
如遇到下载慢等,可以参考:https://blog.csdn.net/Narutolxy/article/details/143017169
# 直接在终端中输入 gvm 可以看到提供的命令
gvm# 安装 SDK 拉取源码包编译安装
gvm install go1.24.2# 直接下载二进制安装
gvm install go1.24.2 --binary# 显示版本
$ gvm listgvm gos (installed)go1.24.2
=> go1.24.4system# 切换临时版本
gvm use go1.22.11# 设置某个版本为默认 SDK
gvm use go1.22.11 --default# 验证
go version