LoginSignup
51
54

More than 5 years have passed since last update.

CentOS7にJava OpenJDK8のインストール

Last updated at Posted at 2017-10-12

概要

OpenJDK8のインストール手順です。

環境

  • CentOS 7.2
  • openjdk version "1.8.0_144"
  • OpenJDK Runtime Environment (build 1.8.0_144-b01)
  • OpenJDK 64-Bit Server VM (build 25.144-b01, mixed mode)

OpenJDK8のインストール

$ sudo yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel 

pathの確認

$ dirname $(readlink $(readlink $(which java)))
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64/jre/bin

環境変数の設定

以下を環境変数として、どこかに設定してください。

JAVA_HOMEは、前述のpathの確認の、/jre/bin の手前の部分を設定します。

$ sudo vi /etc/profile

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar 
$ source /etc/profile

上記の例は/etc/profileに環境変数を設定していますが、
その他の場所に設定する際は、以下を参考にしてください。

  • /etc/environment
    • デフォルトの環境変数を設定するファイル。 システム全体の環境変数を変更する場合はこのファイルを編集する一般的である。
  • /etc/profile
    • ログイン時に実行されるシェルスクリプトファイル。 ログインシェルとして登録されているシェルが起動した際に自動的に読み込まれる。
  • ~/.bash_profile
    • 特定のユーザーの設定。.bash_profile はログイン時にのみ実行される。
  • ~/.bashrc

    • 特定のユーザーの設定。bash を起動する時に毎回実行される。
  • 引用元

デフォルトのJDKを設定

別バージョンの JDK がすでにインストールされていた場合、デフォルトを変更する。
以下の例では1つしか入っていない。

$ sudo alternatives --config java

There is 1 program that provides 'java'.

  Selection    Command
-----------------------------------------------
*+ 1           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64/jre/bin/java)

Enter to keep the current selection[+], or type selection number: 1

動作確認

動作確認用に以下のプログラムを作成する。

day.java
import java.util.Calendar;

class day {
    public static void main(String[] args) {
        Calendar cal = Calendar.getInstance();
        int year = cal.get(Calendar.YEAR);
        int month = cal.get(Calendar.MONTH) + 1;
        int day = cal.get(Calendar.DATE);
        int hour = cal.get(Calendar.HOUR_OF_DAY);
        int minute = cal.get(Calendar.MINUTE);
        System.out.println(year + "/" + month + "/" + day + " " + hour + ":" + minute);
    }
}

コンパイル

$ javac day.java

実行

現在日時が表示されれば成功

$ java day
2017/10/12 4:27

参考

51
54
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
51
54