## 前言 如果你之前没有接触过 sdkman 的话,那么一定会好奇 sdkman 是啥,我为什么要用它来配置 Java 环境? ## sdkman 简介 官网:[https://sdkman.io/](https://sdkman.io/) SDKMAN (Software Development Kit Manager) 是一个用于管理多个软件开发工具包版本的工具。它提供了一个方便的命令行界面,用于安装、切换、删除和管理多个版本的 SDK。 ### 主要特性: 1. **多版本管理**:可以同时安装多个版本的 Java、Maven、Gradle 等工具,并在它们之间轻松切换 2. **简单的命令行接口**:所有操作都通过简单的 `sdk` 命令完成,不需要记忆复杂的语法 3. **跨平台支持**:支持 macOS、Linux 和 Windows (通过 WSL),提供一致的使用体验 4. **自动环境配置**:安装后自动配置相关环境变量,无需手动编辑配置文件 5. **广泛的工具支持**:除了 Java,还支持 Kotlin、Scala、Groovy、Gradle、Maven、Spring Boot 等几十种 JVM 生态工具 ### 为什么选择 SDKMAN: - **简化开发环境配置**:一条命令即可安装和切换开发工具版本 - **避免环境冲突**:不同项目可以使用不同版本的 JDK 和构建工具,互不干扰 - **流畅升级体验**:新版本发布后可以轻松升级,同时保留旧版本作为备份 - **标准化团队环境**:团队成员可以使用相同版本的工具,减少"在我机器上能运行"的问题 总结一句话就是方便,快捷,高效。 ## 安装 sdkman 1. 安装 sdkman ```bash curl -s "https://get.sdkman.io" | bash ``` 2. 打开一个新的终端窗口,初始化 sdkman ```bash source "$HOME/.sdkman/bin/sdkman-init.sh" ``` 3. 查看版本,出现以下内容说明安装成功了。 ```bash sdk version ``` ![](https://cdn.nlark.com/yuque/0/2024/png/1863084/1719932748132-f409b692-739c-415f-9dbb-c3f4c9d4fb0c.png) ## 安装 Java 环境 1. sdkman 查看可以安装的所有 java 版本 ```bash sdk list java ``` ![](https://cdn.nlark.com/yuque/0/2024/png/1863084/1719932877247-1f3f5a89-7033-474f-a34f-cb49d28057da.png) 2. 这里以 java8 为例进行安装 ```bash sdk install java 8.0.402-amzn ``` 3. 查看当前生效的 JDK ```bash sdk current java ``` ![](https://cdn.nlark.com/yuque/0/2024/png/1863084/1719933057276-7d0b2b60-dbae-4114-b335-d1ab819896d5.png) 4. 查看 Java 版本 ```bash java -version ``` ![](https://cdn.nlark.com/yuque/0/2024/png/1863084/1719933218485-a21393d0-a4e8-41dd-8424-374b7d341f04.png) 到这里 Java 环境就配置好了,不需要你配置环境变量。 ## 安装 Maven 环境 1. 查看可以安装的 Maven 的版本 ```bash sdk list maven ``` 2. 安装 3.9.6 版本 ```bash sdk install maven 3.9.6 ``` 3. 查看 maven 版本 ```bash mvn -v ``` ![](https://cdn.nlark.com/yuque/0/2024/png/1863084/1719933301268-da94bdd1-a257-4b24-a5cf-a959b3f03238.png) 到这里 maven 也装好了。 ## 配置 Maven 主要配置一下 maven 的包下载源和依赖下载位置 maven 安装成功之后会告诉你 Maven Home,在 Maven home: /Users/tonngw/.sdkman/candidates/maven/current 进入这个位置 /Users/tonngw/.sdkman/candidates/maven/current/conf ,打开 settings.xml 文件进行配置即可。 找到 conf/settings.xml 文件,配置阿里云镜像源 ```xml alimaven aliyun maven central https://maven.aliyun.com/repository/central ``` ![](https://cdn.nlark.com/yuque/0/2024/png/1863084/1719933666826-2251b560-669d-4f59-a814-26c93694b735.png) ```java /Users/tonngw/Develop/mvnRepository ``` ![](https://cdn.nlark.com/yuque/0/2024/png/1863084/1720017762027-a08a2a41-89f6-40ec-b4bf-ab534909806a.png) 完整配置文件 ```xml /Users/tonngw/Develop/mvnRepository alimaven aliyun maven central https://maven.aliyun.com/repository/central ``` ## 安装 jetbrains-toolbox jetbrains 家的 IDE 工具管理器,可以很方便的下载和管理 IDE。 ```bash brew install --cask jetbrains-toolbox ``` 安装完成之后打开 ![](https://cdn.nlark.com/yuque/0/2024/png/1863084/1719933804093-027e054f-380e-48ef-bfde-d45e743d5c3f.png) 直接通过 toolbox 安装 IDEA ![](https://cdn.nlark.com/yuque/0/2024/png/1863084/1719933856158-719f0eb3-c3a9-4f26-af1e-a4cb66316c37.png) ## 配置 IDEA ### 基础配置 Java 路径 ![](https://cdn.nlark.com/yuque/0/2024/png/1863084/1720016968992-13992045-5476-4d33-8e23-52da77b9a46b.png) ![](https://cdn.nlark.com/yuque/0/2024/png/1863084/1720016997944-8f2c655a-3d7f-4fda-8ef0-5e227193f709.png) Maven 路径 Command + Shift + . 打开隐藏文件 进入 .sdkman/ ![](https://cdn.nlark.com/yuque/0/2024/png/1863084/1720016469615-edae2b9a-9bde-4983-a79a-625d7d906838.png) ![](https://cdn.nlark.com/yuque/0/2024/png/1863084/1720016499933-666976a2-dea8-40f0-9ae3-e898929c2fb2.png) 将 candidates 目录拖到左侧边栏,方便进入。 配置好 maven 的安装路径和配置文件路径![](https://cdn.nlark.com/yuque/0/2024/png/1863084/1720017721174-213cdec2-d460-47f4-9a92-edaa894bc2a8.png) ### 新项目默认配置 Maven 配置 ![](https://cdn.nlark.com/yuque/0/2024/png/1863084/1720017082467-19ff827c-6c1d-4519-a2ca-1321ef07cdf1.png)![](https://cdn.nlark.com/yuque/0/2024/png/1863084/1720017726139-68735067-5727-42d7-a942-46ccd5bd3ef0.png) Java 配置 ![](https://cdn.nlark.com/yuque/0/2024/png/1863084/1720017326271-e60cd434-cb2d-4108-b5ca-b6c17bc31417.png) ![](https://cdn.nlark.com/yuque/0/2024/png/1863084/1720017347707-975af8bd-201f-4ce0-8bb4-34630d2b8f9a.png) 有了默认配置之后以后新建项目,环境配置就会默认配好了,不需要我们每次都去手动设置环境。 ### 常用插件 + Maven Helper:Maven 包冲突检测 + GenerateAllSetter:快速生成 set 语句 + Key Promoter X:提示快捷键的 + MybastisX:mapper 助手 + lombok + GitToolBox:Git 工具箱 可以通过 Jetbrains 账户直接同步过来 原来这里应该是同步配置 ![](https://cdn.nlark.com/yuque/0/2024/png/1863084/1720018915471-cadef8f1-4367-4e9a-8d96-f3844a612b31.png) 全部搞定! ### 小技巧 我们可以在控制台使用 `idea projectName` 来快速打开一个项目。 ![idea open project](https://cdn.nlark.com/yuque/0/2025/png/1863084/1741517430542-c1d03498-4ccb-4723-acab-3d1295c9158a.png?x-oss-process=image%2Fformat%2Cwebp%2Fresize%2Cw_1500%2Climit_0) 如果你有安装多个 IDEA 版本(比如社区版和旗舰版),那么就需要在终端配置文件中配置一下 IDEA 的路径,来指定具体使用哪个 IDEA 版本来打开项目。 ```bash export PATH="/Users/tonngw/Applications/IntelliJ IDEA.app/Contents/MacOS/idea:$PATH" ``` ## 验证 随便找一个 Java 和 Maven 的项目,可以跑起来,说明我们的环境没有问题。 GitHub Repo 地址:[https://github.com/sauce-code/cuckoo](https://github.com/sauce-code/cuckoo) ![](https://cdn.nlark.com/yuque/0/2024/png/1863084/1720018244070-3036ef59-02b9-45f9-880e-4c5e60f988ac.png) ## 最后 用 sdkman 配置 Java 环境简直不要太爽,真的分分钟搞定,可以把它做一个脚本,一键执行就能搞定! ## 参考资料 - [sdkman](https://sdkman.io/) - [Jetbrains Toolbox](https://www.jetbrains.com/toolbox-app/) - [IDEA](https://www.jetbrains.com/idea/)