CentOSにJavaをインストール、パス設定


掲載日:2020年12月8日



INFOMARTION > CentOSにJavaをインストール、パス設定

概要

CentOSにJavaをインストールしてパスを設定する手順です。Oracle Javaは有償化が始まっているので、OpenJDKを使って設定していきます。CentOS7を前提に記載しています。

目次

  1. 設定内容
  2. まとめ

1. 設定内容

Javaをダウンロードするところからパスを設定する手順について記載します。

1-1. 資材のダウンロード

以下のサイトからOpenJDKをダウンロードします。

https://openjdk.java.net/

1-2. 資材の解凍、移動

OpenJDKをサーバへ移動、解凍します。以下は、「/var/work」配下にOpenJDKを置いた前提で記載します。

[root@hostname ~]# tar xzvf /var/work/openjdk-11+28_linux-x64_bin.tar.gz
[root@hostname ~]# mkdir /usr/lib/java
[root@hostname ~]# mv jdk-11 /usr/lib/java/

上記は「/var/work」配下でOpenJDKを解凍、「/usr/lib/」配下に「java」フォルダを作成、解凍したOpenJDKを「/usr/lib/java/」配下に移動するコマンドとなります。

1-3. alternativesにコマンドを登録する

alternativesとは直訳した通りの説明になってしまいますが、代替コマンドです。簡単に説明すると切り替え可能なショートカットリンクで環境変数を設定する仕組みとなります。複数Javaが入っている時などはこちらの設定をしておくとJavaの切り替えが簡単になります。このコマンドによりJavaのパスを設定します。

[root@hostname ~]# alternatives --install /usr/bin/java java /usr/lib/java/jdk-11/bin/java 1
[root@hostname ~]# alternatives --install /usr/bin/javac javac /usr/lib/java/jdk-11/bin/javac 1

上記のコマンドの1行目を説明すると

・「/usr/bin/java」のショートカットリンクが作成されます。

・グループ名を「java」にします。複数Javaがあり、切り替えたい時はグループ名をjavaで複数登録します。

・ショートカット先を「/usr/lib/java/jdk-11/bin/java」とします。

・優先度を1とします。

といった設定となります。

これによりjavaコマンドを実行すると

①/usr/bin/javaのショートカットが呼び出されます。 ※「/usr/bin」配下に普段実行している「mkdir」「ls」などのコマンドも格納されています。普段何気なく使っている「mkdir」「ls」はここが呼び出されています。

②ショートカット先の「/etc/alternatives/java」が呼び出されます。こちらもショートカットとなっています。 ※「/etc/alternatives/java」の「java」はグループ名で指定した値となります。

③さらにショートカット先となっている「/usr/lib/java/jdk-11/bin/java」が呼び出されます。

上記の①~③の流れでjavaコマンド実行されます。

javaコマンドが有効になっているか、以下のコマンドで確認してみましょう。

[root@hostname ~]# java -version
openjdk version "xx" yyyy-mm-dd
OpenJDK Runtime Environment xx.x (build xx+xx)
OpenJDK 64-Bit Server VM xx.x (build xx+xx, mixed mode)

上記の通りに表示されたらOKです。

2. まとめ

Javaをインストールしてパスを設定する手順を記載させていただきました。

普段何となく使っているjavaコマンドですが、alternativesなどにより登録されていることにより動作しています。新しくjavaを入れる際は参考にしてみてください。

最後までご覧いだきありがとうございました。



■INFORMATION

INFORMATIONのトップページはこちらよりお願いいたします。


■PROFILE

プロフィールはこちらよりお願いいたします。


■お問い合わせ先

記事に関するお問い合わせはこちらよりお願いいたします。