helloworlds

not a noun, it's a verb

【AWS】EC2のJavaをヴァージョンアップする

今回は、EC2のJavaのヴァージョンを上げる方法です。

対象は、AmazonLinux1です。 AmazonLinux2では試していませんので、ご承知ください!

それでは、さっそくやっていきます。

確認

まず、今インストールされているJavaのヴァージョンを確認します。

$ java -version

java version "1.7.0_201"
OpenJDK Runtime Environment (amzn-2.6.16.0.78.amzn1-x86_64 u201-b00)
OpenJDK 64-Bit Server VM (build 24.201-b00, mixed mode)

この例では、ヴァージョン7更新201という意味になります。 更新はいいとして、ヴァージョンを今回は7から8に上げようかと思います。

インストールできるjavaを確認

yumでインストール可能なjavaを探します。

$ yum search java | grep java-1.8*

java-1.6.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.6.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.6.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.6.0-openjdk-javadoc.x86_64 : OpenJDK API Documentation
java-1.6.0-openjdk-src.x86_64 : OpenJDK Source Bundle
java-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.7.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.7.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.7.0-openjdk-javadoc.noarch : OpenJDK API Documentation
java-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundle
java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.8.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.8.0-openjdk-headless.x86_64 : OpenJDK Runtime Environment
java-1.8.0-openjdk-javadoc.noarch : OpenJDK API Documentation
java-1.8.0-openjdk-javadoc-zip.noarch : OpenJDK API Documentation compressed in
java-1.8.0-openjdk-src.x86_64 : OpenJDK Source Bundle

1.6~1.8までがどうやらインストールできるようですね。 Javaの種類というのも変かもしれませんが、いくつかタイプがあります。

  • JDK java-1.8.0-openjdk-devel.x86_64 (開発環境) java-1.8.0-openjdk.x86_64 (ランタイム)

JDK(Java SE Development Kit)とは、Javaのプログラムを開発する際に必要なもので、

JRE(Java Runtime Environment)は、Java実行する際に必要なものです。

JDKJREは同梱されていますが、別物として理解しておくといいかもしれません。 ここでは細かいJavaについては説明しません!

インストール

$ sudo yum install java-1.8.0-openjdk-devel.x86_64
(上記をインストールすれば、java-1.8.0-openjdk.x86_64もインストール済なはずです)

# 確認
$ yum list installed java-*

Installed Packages
java-1.7.0-openjdk.x86_64                                  1:1.7.0.201-2.6.16.0.78.amzn1                         @amzn-updates
java-1.8.0-openjdk.x86_64                                  1:1.8.0.191.b12-0.42.amzn1                            @amzn-updates
java-1.8.0-openjdk-devel.x86_64                            1:1.8.0.191.b12-0.42.amzn1                            @amzn-updates
java-1.8.0-openjdk-headless.x86_64                         1:1.8.0.191.b12-0.42.amzn1                            @amzn-updates

インストールしただけでは、ヴァージョンは変わっていないはずです。

有効化

複数のバージョンがインストールされているとき、システムがどのバージョンを使用するかを設定できるように

alternativesコマンドを実行して指定します。

$ sudo alternatives --config java


There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
   2           /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java

Enter to keep the current selection[+], or type selection number: 2 # ←ここで"2"を入力

実に簡単ですね!

ここで再度Javaのヴァージョンを確認すると、1.8.0_XXXで変更が確認できるかと思います。

以上.