在 Ubuntu 中設定或取得 $JAVA_HOME 的系統範圍方法?

在 Ubuntu 中設定或取得 $JAVA_HOME 的系統範圍方法?

我想知道Ubuntu本身是否提供了系統範圍的方式來查找當前JAVA_HOME或是否有正確的位置進行設定JAVA_HOME

Mac OS X 在這方面做得很好,因為/usr/libexec/java_home命令返回當前的JAVA_HOME.但對於 Ubuntu,我找到的資料總是告訴我將指向設定$JAVA_PATH為靜態路徑,該路徑存儲在~/.bash_profile.

然而,我認為這種方法有幾個缺點:

  1. 一旦Java更新,迷你版本號碼就會改變,這使得靜態路徑不再可用。
  2. 更改我的系統中使用的 JRE 後update-alternatives,我必須$JAVA_HOME.bash_profile.這種額外的工作很煩人。
  3. 有些必備的程序,根本$JAVA_HOME不知道。.bash_profile我必須$JAVA_HOME在他們的啟動腳本中進行設置,因此標準且簡單的獲取方式$JAVA_HOME對我來說似乎至關重要。

嗯,歡迎任何建議。謝謝。

答案1

有點 hacky,但是將此行放入您的/etc/profile系統範圍內進行設定:

export JAVA_HOME=$(dirname $(dirname $(readlink -e /usr/bin/javac)))

答案2

您可以在 中設定環境變量/etc/environment,它由 PAM 設定。還應該存在/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/取得完整的安裝指南。

相關內容