是不是每次换新电脑或者安装了新系统,都要烦恼应该如何下载安装 Java 以及进行相应的配置?今天就来介绍一下如何从这种烦恼中解脱出来。

1. Java 版本控制工具

普通常规的安装配置方式除了步骤繁琐以外,最大的缺陷就在于不能支持 Java 版本的快速切换,其必须通过更改环境变量的方式进行版本切换。

针对以上的问题,我们需要选择一款 Java 版本控制工具,将我们从烦恼中解脱出来。以下是我找的几款工具:

  • sdkman: https://github.com/sdkman/sdkman-cli
  • jabba: https://github.com/shyiko/jabba
  • jenv: https://github.com/jenv/jenv

2. 抉择

考虑到工具的维护情况,本人选择了 sdkman 作为目前 Java 版本控制的工具。如果需要安装 Orcale JDK,可以考虑使用 jabbasdkman 不支持下载),个人推荐安装 AdpotOpenJDK

3. 配置 sdkman

由于本人使用的是 macOSUbuntu,下面的步骤都是基于这些系统,Windows 安装 sdkman 详见彩蛋部分。

3.1 安装 sdkman

1
curl -s "https://get.sdkman.io" | bash

提醒:安装成功后,关闭终端并重新打开一个新终端

1
2
# 验证 sdkman 是否安装成功
sdk version

3.2 sdkman 升级

1
sdk selfupdate

3.3 sdkman 版本库更新

1
sdk update

4. 安装配置 Java

4.1 列举可安装(已安装)的 Java 版本

1
sdk list java

建议:推荐安装 AdpotOpenJDK 和 Amazon 的 Java 版本

4.2 安装指定 Java 版本

1
sdk install java 14.0.1.hs-adpt

4.3 查看当前 Java 版本

1
sdk current java

4.4 指定默认 Java 版本

1
2
3
4
5
# 永久切换
sdk default java 114.0.1.hs-adpt

# 临时切换,只在当前终端有效
sdk use java 14.0.1.hs-adpt

4.5 删除指定的 Java 版本

1
sdk uninstall java 14.0.1.hs-adpt

5 查看 Java 安装路径

1
2
3
4
where java

# 默认路径
# ~/.sdkman/candidates/java/current/bin/java

5.1 配置 Intellij IDEA 的 Java 路径


彩蛋

Windows 怎样配置

根据 https://sdkman.io/install 的介绍,其有三种方式进行安装 sdkman

这里只针对 Git Bash 这种情况,参考了 https://ranxing.wordpress.com/2016/12/13/add-zip-into-git-bash-on-windows

  1. Go to the following link https://sourceforge.net/projects/gnuwin32/files/
  2. Find out whatever command you are missing
    Here I need zip and bzip2 for zip command. Because zip command relies on bzip2.dll to run. Otherwise you will get error “error while loading shared libraries: ?: cannot open shared object file: No such file or directory”.
  3. Unzip the downloaded files
    Here I am downloading “zip-3.0-bin.zip” for “zip.exe” and “bzip2-1.0.5-bin.zip” for “bzip2.dll” in the bin folder. <unzipped file>/bin/<command>.exe
  4. Copy the command exe file into git-bash folder Here I am copying “zip.exe” and “bzip2.dll” to <Program folder>\Git\usr\bin.

看完这篇文章,有没有让你从 Java 安装配置中解脱出来呢?

更多精彩内容请关注扫码

KnowledgeCollision 微信公众号

Knowledge Collision 激发思维碰撞,IDEA 丛生