4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWSのEC2インスタンスでAmazon Correttoを用いてJDK16を導入する

Last updated at Posted at 2021-08-27

とあるサーバー向けソフトウェアでJava16を必要とする事があった。
すでにAmazon Corretto 8を用いてJDK8がインストールされていたが、
AmazonLinuxならAmazon CorrettoというOpenJDK互換のソフトウェアが簡単にインストールとバージョン切り替えが可能なのでその方法を説明する。
この記事ではAmazon Corretto 16のインストールについて解説するが、Corretto 8については次の記事を参考にしてほしい。→AWSのEC2インスタンスでAmazon Correttoを用いてJDK8を導入する

環境

AWS EC2 t4g.medium ARM AmazonLinux2
JDK 1.8.0_302 がインストール済み

今回はARM版のAmazonLinux2を利用しているが、x86でも手順はほぼ同様だと思われる。

インストール

今回はyumからインストールを行う。rpmからマニュアルでインストールする方法はこちら→AWSのマニュアル

Amazon Linux2でyumリポジトリを有効にする。
AWSが用意したAmazon Corretto用のリポジトリの公開鍵をインポートし、リポジトリをシステムに追加する。

sudo rpm --import https://yum.corretto.aws/corretto.key 
sudo curl -L -o /etc/yum.repos.d/corretto.repo https://yum.corretto.aws/corretto.repo

リポジトリの追加後、以下コマンドでインストールを行う。

sudo yum install -y java-16-amazon-corretto-devel

Amazon Corretto 8の場合と比較すると今回インストールするのはJDKだと予測できるが、公式ドキュメントにCorretto 16でのJDK,JREについての記載はなくJDKのリンクのみが記載されていた。

Amazon Corretto 16は/usr/lib/jvm/java-16-amazon-correttoにインストールされる。
Corretto 8の場合と異なり、ディレクトリ名にCPUアーキテクチャーの記載が無いが、yumのログを見ると

Downloading packages:
java-16-amazon-corretto-devel-16.0.2.7-1.aarch64.rpm                                                               | 197 MB  00:00:08     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : 1:java-16-amazon-corretto-devel-16.0.2.7-1.aarch64                                                                     1/1 
  Verifying  : 1:java-16-amazon-corretto-devel-16.0.2.7-1.aarch64                                                                     1/1 

となっているのでアーキテクチャーに応じたソフトウェアが適宜インストールされているようだ。

バージョンの切り替え

環境によってはすでに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

参考記事

公式のAmazon Corretto 16インストール記事
https://docs.aws.amazon.com/corretto/latest/corretto-16-ug/generic-linux-install.html#rpm-linux-install-instruct

私が過去に執筆したAmazon Corretto 8についてのQiitaの記事
https://qiita.com/honahuku/items/e5464bb3b102710b555a

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?