備忘録:alternativeコマンドにおけるJavaのバージョン切り替えについて
ハマったのでメモ
要約
alternative
コマンドでバージョンを切り替えても、/usr/java/latest
のシンボリックリンクは見ようね
事象
yumで新しいバージョンのJavaを入れたあと、alternative
コマンドで古いJavaのバージョンに切り替えたが、一部のプログラムで新しいバージョンを参照していたことでエラーが発生した
原因
/usr/java/latest
が新しいバージョンを参照したままになっており、プログラムを実行するに当たってJAVA_HOMEに/usr/java/latest
を指定していたため
java -version
で切り替わってるね!って思っていたが、/usr/java/latest
は切り替わっていなかった
alternative
では指定したディレクトリ(自分のは/usr/bin/java
だった…きがする)のシンボリックリンクを変更するため、JAVA_HOMEを直接指定している場合には反映されない、当然か…
今回はプログラムを実行するスクリプト内でJAVA_HOMEを指定しており、発見が遅れた
対応
latestのシンボリック先を変更しました