javaコマンドは元からバージョン1.8のものが入っていて使えたのだが、コンパイルができなかった。
まずはopenjdkをインストール。
# su
# yum -y install java-14-openjdk-devel
これだけでjavacが使えるようになった。javacの本体を探してみると
# which javac
/usr/bin/javac
/usr/bin/javac
の本体は/usr/lib/jvm/java-14-openjdk-14.0.2.12-1.rolling.el8.x86_64/bin/javac
。
パスが通っている/usr/bin/
にシンボリックリンクが自動作成されたというわけだ。
次はjavaコマンドをバージョンアップする。javaコマンドがどこにあるか探してみると
# which java
/usr/bin/java
これも実体は別にあるはずで、
# ll /usr/bin/java
lrwxrwxrwx. 1 root root 22 10月 24 11:28 /usr/bin/java -> /etc/alternatives/java
# ll /etc/alternatives/java
lrwxrwxrwx. 1 root root 73 10月 24 11:28 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.265.b01-0.el8_2.x86_64/jre/bin/java
なるほど。/etc/alternatives/java
のリンク先を変更すれば良さそうである。
しかしどこを選べば良いのだろう。javaコマンドを探してみる。
# ll /usr/lib/jvm/*/bin/java
-rwxr-xr-x. 1 root root 16056 7月 23 21:21 /usr/lib/jvm/java-14-openjdk-14.0.2.12-1.rolling.el8.x86_64/bin/java
-rwxr-xr-x. 1 root root 16056 7月 23 21:21 /usr/lib/jvm/java-14-openjdk/bin/java
-rwxr-xr-x. 1 root root 16056 7月 23 21:21 /usr/lib/jvm/java-14/bin/java
-rwxr-xr-x. 1 root root 16056 7月 23 21:21 /usr/lib/jvm/java-openjdk/bin/java
-rwxr-xr-x. 1 root root 16056 7月 23 21:21 /usr/lib/jvm/java/bin/java
-rwxr-xr-x. 1 root root 11680 9月 10 01:49 /usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.265.b01-0.el8_2.x86_64/bin/java
-rwxr-xr-x. 1 root root 11680 9月 10 01:49 /usr/lib/jvm/jre-1.8.0-openjdk/bin/java
-rwxr-xr-x. 1 root root 11680 9月 10 01:49 /usr/lib/jvm/jre-1.8.0/bin/java
-rwxr-xr-x. 1 root root 16056 7月 23 21:21 /usr/lib/jvm/jre-14-openjdk-14.0.2.12-1.rolling.el8.x86_64/bin/java
-rwxr-xr-x. 1 root root 16056 7月 23 21:21 /usr/lib/jvm/jre-14-openjdk/bin/java
-rwxr-xr-x. 1 root root 16056 7月 23 21:21 /usr/lib/jvm/jre-14/bin/java
-rwxr-xr-x. 1 root root 11680 9月 10 01:49 /usr/lib/jvm/jre-openjdk/bin/java
-rwxr-xr-x. 1 root root 11680 9月 10 01:49 /usr/lib/jvm/jre/bin/java
どれにすれば良いか分からないから、とりあえず/usr/lib/jvm/java-14-openjdk/bin/java
にする。
# ln -fs /usr/lib/jvm/java-14-openjdk/bin/java /etc/alternatives/java
これでjavaで書いたプログラムを動かせるようになった。以上。