
Ubuntu 自体がシステム全体で現在の値を見つける方法を提供しているのかJAVA_HOME
、それとも設定するための適切な場所があるのか疑問に思いますJAVA_HOME
。
Mac OS X はこの点では優れています。/usr/libexec/java_home
コマンドは現在の を返しますJAVA_HOME
。 しかし、Ubuntu の場合、私が見つけた資料では常に を$JAVA_PATH
に保存されている静的パスに設定するように指示されていました~/.bash_profile
。
しかし、このアプローチにはいくつかの欠点があると思います。
- Java が更新されると、ミニバージョン番号が変更され、静的パスは使用できなくなります。
- システムで使用されている JRE を で変更した後、を
update-alternatives
変更する必要があります。その余分な作業は面倒です。$JAVA_HOME
.bash_profile
- いくつかの
$JAVA_HOME
必須プログラムはまったく認識されません。起動スクリプトで.bash_profile
設定する必要があるため、標準的で簡単な方法で取得することが私にとっては重要です。$JAVA_HOME
$JAVA_HOME
そうですね、どんなアドバイスでも歓迎します。ありがとう。
答え1
少しハッキーですが、/etc/profile
システム全体に設定するには次の行を追加します。
export JAVA_HOME=$(dirname $(dirname $(readlink -e /usr/bin/javac)))
答え2
で環境変数を設定できます。これは PAM によって設定されます。マイナー リリースで変更されない に/etc/environment
はシンボリック リンクも存在するはずです。/usr/lib/jvm
JAVA_HOME=/usr/lib/jvm/java-6-sun
答え3
「java」コマンドが確実に呼び出される場合は、これでうまくいくのではないでしょうか。
export JAVA_HOME=$(dirname $(java -XshowSettings:properties -version 2>&1 | grep 'java\.home' | awk '{ print $3 }'))
答え4
パスシステムプロファイルを設定する
システムパスファイル/etc/profileを編集する
sudo gedit /etc/profile
最後に次の行を追加します
JAVA_HOME=/usr/lib/jvm/jdk1.7.0
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH
のためにhttp://javaandme.com/完全なインストールガイドについては、こちらをご覧ください。