UbuntuでJAVA_HOMEの設定方法について記載する。
- javaは、alternativesを経由している前提。
- /usr/bin/java -> /etc/alternatives/java -> (実際のjavaのロケーション)
- PATHは、/usr/binに通っているので、特に対応しない。
- 複数のjavaを切り替える場合もsourceコマンドを実行することで対応できるようにしておく。
- 切り替え方は、こちらを参照。「 Ubuntuで、複数のJavaをインストールして切替を行う」
やり方
/etc/profle.d配下にjava_home.shを作成
- /etc/profile.d配下のshellは、ログイン時に実行される。
sudo vi /etc/profile.d/java_home.sh
JAVA_HOMEのエクスポートを記載
- javaコマンドの絶対パスから、JDKのホームディレクトリを判断している。
-
${JAVA_HOME}/bin/java
の場合と${JAVA_HOME}/jre/bin/java
の場合があるので、その両方に対応させている。(それ以外の場合もあるかも。。。)
/etc/profile.d/java_home.sh
export JAVA_HOME=`echo $(dirname $(readlink $(readlink $(which java)))) | sed -e 's/\/bin$//g' | sed -e 's/\/jre$//g'`
sourceコマンドで、JAVA_HOMEを反映
source /etc/profile.d/java_home.sh
確認
echo $JAVA_HOME