いとブログ

勉強したことや雑記

備忘録:alternativeコマンドにおけるJavaのバージョン切り替えについて

ハマったのでメモ

要約

事象

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のシンボリック先を変更しました