とあるサーバー向けソフトウェアでJava16を必要とする事があった。
AmazonLinuxならAmazon CorrettoというOpenJDK互換のソフトウェアが簡単にインストールとバージョン切り替えが可能なのでその方法を説明する。
この記事ではAmazon Corretto 8のインストールについて解説するが、Corretto 16については次の記事を参考にしてほしい。→AWSのEC2インスタンスでAmazon Correttoを用いてJDK16を導入する
環境
AWS EC2 t4g.medium ARM AmazonLinux2
Javaは未インストール
今回はARM版のAL2を利用しているが、x86でも手順はほぼ同様だと思われる。
インストール
今回はyumからインストールを行う。rpmからマニュアルでインストールする方法はこちら→AWSのマニュアル
Amazon Linux2でyumリポジトリを有効にする。
sudo amazon-linux-extras enable corretto8
Amazon Corretto 8は、ランタイム環境(JRE)及び完全開発環境(JDK)の2種類が用意されている。
なお、JDKにはJREが含まれるのでJDKをインストールするならばJREをインストールする必要はない。
Amazon Corretto 8をJREとしてインストールする場合
sudo yum install java-1.8.0-amazon-corretto
Amazon Corretto 8をJDKとしてインストールする場合
sudo yum install java-1.8.0-amazon-corretto-devel
Amazon Corretto 8は/usr/lib/jvm/java-1.8.0-amazon-corretto.<cpu_arch>
にインストールされる。
バージョンの切り替え
環境によってはすでにJavaが入っており、java --version
で旧バージョンが有効になってしまうことがある。
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)
これは以下コマンドを利用してJavaの切り替えを行い対応する。
sudo alternatives --config java
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
+ 1 /usr/lib/jvm/java-1.8.0-amazon-corretto.aarch64/jre/bin/java
* 2 /usr/lib/jvm/java-16-amazon-corretto/bin/java
Enter to keep the current selection[+], or type selection number: 2
変更を確認する。
java -version
openjdk version "16.0.2" 2021-07-20
OpenJDK Runtime Environment Corretto-16.0.2.7.1 (build 16.0.2+7)
OpenJDK 64-Bit Server VM Corretto-16.0.2.7.1 (build 16.0.2+7, mixed mode, sharing)
変更が確認できた。
なお、JDKを使用している場合は以下コマンドも合わせて実行する必要がある場合がある。
sudo alternatives --config javac
参考記事