LoginSignup
4
5

More than 5 years have passed since last update.

OpenJDK8をRPMでインストールする

Posted at

OracleJDKからOpenJDKに移行することになったので、OpenJDKのインストール手順をまとめるよ。

前提条件

  • 既存のOracleJDKは残しておく
  • 諸事情によりyumでまるっとインストールはしない(余計なものは入れない)rpm版で。
  • develはインストールしない(必要であればしてください)

環境

$ cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)

手順

1. openJDKをゲットする

ここのサイトあたりから探すと良いかも。
https://pkgs.org/download/openjdk
今回落としてきたのは
* java-1.8.0-openjdk-headless-1.8.0.171-7.b10.el7.x86_64.rpm
* java-1.8.0-openjdk-1.8.0.171-7.b10.el7.x86_64.rpm

$ wget 'http://mirror.centos.org/centos/7/updates/x86_64/Packages/java-1.8.0-openjdk-headless-1.8.0.171-7.b10.el7.x86_64.rpm'
$ wget 'http://mirror.centos.org/centos/7/updates/x86_64/Packages/java-1.8.0-openjdk-1.8.0.171-7.b10.el7.x86_64.rpm'

2. いろいろアップデート

そのままインストールしてもエラーになるので、以下をupdate

$ yum update copy-jdk-configs
$ yum update nss

3. インストール

headlessがメインなので、headlessを先にインストールしましょう。

$ rpm -ivh java-1.8.0-openjdk-headless-1.8.0.171-7.b10.el7.x86_64.rpm
$ rpm -ivh java-1.8.0-openjdk-1.8.0.171-7.b10.el7.x86_64.rpm

インストール先は/usr/lib/jvmに。OracleJDKと全然違うなぁ。

/usr/lib/jvm
drwxr-xr-x 3 root root 16  5月  9 22:55 java-1.8.0-openjdk-1.8.0.171-7.b10.el7.x86_64
lrwxrwxrwx 1 root root 21  7月 26 15:30 jre -> /etc/alternatives/jre
lrwxrwxrwx 1 root root 27  7月 26 15:30 jre-1.8.0 -> /etc/alternatives/jre_1.8.0
lrwxrwxrwx 1 root root 35  7月 26 15:30 jre-1.8.0-openjdk -> /etc/alternatives/jre_1.8.0_openjdk
lrwxrwxrwx 1 root root 49  7月 26 15:30 jre-1.8.0-openjdk-1.8.0.171-7.b10.el7.x86_64 -> java-1.8.0-openjdk-1.8.0.171-7.b10.el7.x86_64/jre

4. バージョン管理の確認

alternativeで管理するらしい。rpmでインストールしたら自動的にopenjdkの方を向いてたので、今回は割愛。

# alternatives --config java

2 プログラムがあり 'java' を提供します。

  選択       コマンド
-----------------------------------------------
   1           /usr/java/jdk1.8.0_162/jre/bin/java
*+ 2           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-7.b10.el7.x86_64/jre/bin/java)

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:

5. java -versionで確認できるバージョンの向き先を変える

/etc/profile.d/java.shのJAVA_HOMEを書き換える必要があるらしい
yumだと書き換えてくれるんだろうか。。

$ cd /etc/profile.d/
$ vi java.sh
export JAVA_HOME=/etc/alternatives/jre #これ追加
#export JAVA_HOME=/usr/java/latest #コメントアウト or delete

$ source /etc/profile.d/java.sh
$ java -version
openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-b10)
OpenJDK 64-Bit Server VM (build 25.171-b10, mixed mode)

おまけ

tomcatとかでJAVA_HOMEを設定してるやつらがいたら変えるのを忘れずに。
/opt/java で設定していたら、以下のシンボリックリンクを変えると割と平和的に解決する

# cd /opt
java -> /usr/java/latest
# rm java
# ln -s /etc/alternatives/jre java
java -> /etc/alternatives/jre

参考

4
5
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
5