Ubuntu 20.04 LTSにSDKMAN!を使用しJDK(Java)をインストール
はじめに
UbuntuでJava環境が必要になった為、JDKのインストールを行う。
JDKをダウンロードして、JAVA_HOMEを設定する方法があるが、今回は簡単にインストールと設定を行いたいので、SDKMAN!を使用してインストールを行う。また、SDKMAN!は、macOS、Linux、WSL、Cygwin、Solaris、FreeBSDにインストールすることができる。
必要なパッケージ追加
1 2 |
> apt update > apt install unzip -y |
SDKMAN!のインストール
1 2 3 4 5 |
# 画面の指示に従いインストール >curl -s "https://get.sdkman.io" | bash # インストール完了後 >source "$HOME/.sdkman/bin/sdkman-init.sh" |
SDKMAN!のバージョン確認
1 2 3 4 5 6 7 8 |
> sdk version ==== BROADCAST ================================================================= * 2021-08-30: grails 4.0.12 available on SDKMAN! * 2021-08-29: webtau 1.43.1 available on SDKMAN! * 2021-08-26: kotlin 1.5.30 available on SDKMAN! https://github.com/JetBrains/kotlin/releases/v1.5.30 ================================================================================ SDKMAN 5.12.3 |
Java(JDK)をインストール
インストール可能なバージョンを確認
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
>sdk list java ================================================================================ Available Java Versions ================================================================================ Vendor | Use | Version | Dist | Status | Identifier -------------------------------------------------------------------------------- AdoptOpenJDK | | 16.0.1.j9 | adpt | | 16.0.1.j9-adpt | | 16.0.1.hs | adpt | | 16.0.1.hs-adpt | | 11.0.11.j9 | adpt | | 11.0.11.j9-adpt | | 11.0.11.hs | adpt | | 11.0.11.hs-adpt | | 8.0.292.j9 | adpt | | 8.0.292.j9-adpt | | 8.0.292.hs | adpt | | 8.0.292.hs-adpt Corretto | | 16.0.2.7.1 | amzn | | 16.0.2.7.1-amzn | | 11.0.12.7.1 | amzn | | 11.0.12.7.1-amzn | | 8.302.08.1 | amzn | | 8.302.08.1-amzn Dragonwell | | 11.0.9.4 | albba | | 11.0.9.4-albba | | 8.5.5 | albba | | 8.5.5-albba GraalVM | | 21.2.0.r16 | grl | | 21.2.0.r16-grl | | 21.2.0.r11 | grl | | 21.2.0.r11-grl | | 21.2.0.r8 | grl | | 21.2.0.r8-grl | | 21.1.0.r8 | grl | | 21.1.0.r8-grl | | 20.3.3.r11 | grl | | 20.3.3.r11-grl | | 20.3.3.r8 | grl | | 20.3.3.r8-grl | | 20.3.2.r8 | grl | | 20.3.2.r8-grl | | 19.3.6.r11 | grl | | 19.3.6.r11-grl | | 19.3.6.r8 | grl | | 19.3.6.r8-grl Java.net | | 18.ea.12 | open | | 18.ea.12-open | | 18.ea.11 | open | | 18.ea.11-open | | 18.ea.10 | open | | 18.ea.10-open | | 18.ea.2.lm | open | | 18.ea.2.lm-open | | 17.ea.3.pma | open | | 17.ea.3.pma-open | | 16.0.2 | open | | 16.0.2-open | | 11.0.12 | open | | 11.0.12-open | | 11.0.11 | open | | 11.0.11-open | | 11.0.10 | open | | 11.0.10-open | | 11.0.2 | open | | 11.0.2-open | | 8.0.302 | open | | 8.0.302-open | | 8.0.292 | open | | 8.0.292-open | | 8.0.282 | open | | 8.0.282-open | | 8.0.265 | open | | 8.0.265-open Liberica | | 16.0.2.fx | librca | | 16.0.2.fx-librca | | 16.0.2 | librca | | 16.0.2-librca | | 11.0.12.fx | librca | | 11.0.12.fx-librca | | 11.0.12 | librca | | 11.0.12-librca | | 8.0.302.fx | librca | | 8.0.302.fx-librca | | 8.0.302 | librca | | 8.0.302-librca Liberica NIK | | 21.2 | nik | | 21.2-nik | | 21.1 | nik | | 21.1-nik | | 21.0.0.2 | nik | | 21.0.0.2-nik Mandrel | | 21.2.0.0 | mandrel | | 21.2.0.0-mandrel | | 20.3.3.0 | mandrel | | 20.3.3.0-mandrel Microsoft | | 16.0.2.7.1 | ms | | 16.0.2.7.1-ms | | 11.0.12.7.1 | ms | | 11.0.12.7.1-ms SapMachine | | 16.0.2 | sapmchn | | 16.0.2-sapmchn | | 11.0.12 | sapmchn | | 11.0.12-sapmchn Semeru | | 16.0.2 | sem | | 16.0.2-sem | | 11.0.12 | sem | | 11.0.12-sem | | 8.0.302 | sem | | 8.0.302-sem Temurin | | 16.0.2 | tem | | 16.0.2-tem | | 11.0.12 | tem | | 11.0.12-tem | | 8.0.302 | tem | | 8.0.302-tem Trava | | 11.0.9 | trava | | 11.0.9-trava | | 8.0.232 | trava | | 8.0.232-trava Zulu | | 16.0.2 | zulu | | 16.0.2-zulu | | 16.0.2.fx | zulu | | 16.0.2.fx-zulu | | 11.0.12 | zulu | | 11.0.12-zulu | | 11.0.12.fx | zulu | | 11.0.12.fx-zulu | | 8.0.302 | zulu | | 8.0.302-zulu | | 8.0.302.fx | zulu | | 8.0.302.fx-zulu | | 7.0.312 | zulu | | 7.0.312-zulu | | 6.0.119 | zulu | | 6.0.119-zulu ================================================================================ Use the Identifier for installation: $ sdk install java 11.0.3.hs-adpt ================================================================================ |
識別子(Identifier)を指定してインストール
ここでは、LTSのJDKをインストールする。インストール完了後、JDKのバージョンを確認する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
> sdk install java 11.0.12.7.1-amzn Downloading: java 11.0.12.7.1-amzn In progress... ################################################### 100.0% Repackaging Java 11.0.12.7.1-amzn... Done repackaging... Installing: java 11.0.12.7.1-amzn Done installing! Setting java 11.0.12.7.1-amzn as default. > java -version openjdk version "11.0.12" 2021-07-20 LTS OpenJDK Runtime Environment Corretto-11.0.12.7.1 (build 11.0.12+7-LTS) OpenJDK 64-Bit Server VM Corretto-11.0.12.7.1 (build 11.0.12+7-LTS, mixed mode) |
JAVA_HOMEの確認
一旦ログアウト後、再ログイン
1 2 |
> echo $JAVA_HOME JAVA_HOME=/root/.sdkman/candidates/java/current |
JDKの切替
インストールされているJDKの確認
1 |
> sdk list java |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
================================================================================ Available Java Versions ================================================================================ Vendor | Use | Version | Dist | Status | Identifier -------------------------------------------------------------------------------- AdoptOpenJDK | | 16.0.1.j9 | adpt | | 16.0.1.j9-adpt | | 16.0.1.hs | adpt | | 16.0.1.hs-adpt | | 11.0.11.j9 | adpt | | 11.0.11.j9-adpt | | 11.0.11.hs | adpt | | 11.0.11.hs-adpt | | 8.0.292.j9 | adpt | | 8.0.292.j9-adpt | | 8.0.292.hs | adpt | | 8.0.292.hs-adpt Corretto | | 16.0.2.7.1 | amzn | | 16.0.2.7.1-amzn | >>> | 11.0.12.7.1 | amzn | installed | 11.0.12.7.1-amzn | | 8.302.08.1 | amzn | installed | 8.302.08.1-amzn Dragonwell | | 11.0.9.4 | albba | | 11.0.9.4-albba | | 8.5.5 | albba | | 8.5.5-albba GraalVM | | 21.2.0.r16 | grl | | 21.2.0.r16-grl | | 21.2.0.r11 | grl | | 21.2.0.r11-grl | | 21.2.0.r8 | grl | | 21.2.0.r8-grl | | 21.1.0.r8 | grl | | 21.1.0.r8-grl |
JDKを切替える
1 2 3 4 5 6 7 8 |
> sdk default java 8.302.08.1-amzn Default java version set to 8.302.08.1-amzn java -version openjdk version "1.8.0_302" OpenJDK Runtime Environment Corretto-8.302.08.1 (build 1.8.0_302-b08) OpenJDK 64-Bit Server VM Corretto-8.302.08.1 (build 25.302-b08, mixed mode) |