web-dev-qa-db-ja.com

LinuxのJAVA_HOMEディレクトリ

Java_HOMEディレクトリを見つけるために使用できるLinuxコマンドはありますか?環境変数( "env")を出力しようとしましたが、ディレクトリが見つかりません。

60

echo $Java_HOMEは、設定されている場合、値を出力します。ただし、スタートアップスクリプトで手動で設定しなかった場合、おそらく設定されていません。

which Javaを試しても何も見つからない場合、Javaがマシンにインストールされていないか、少なくともパスにありません。使用しているLinuxディストリビューションとルートアクセスの有無に応じて、 http://www.Java.com にアクセスして必要なバージョンをダウンロードできます。次に、このディレクトリを指すようにJava_HOMEを設定できます。これは単なる慣習であり、Javaがインストールされているかどうかを判断するために使用すべきではないことに注意してください。

54
AdamC

Linuxでは、$(dirname $(dirname $(readlink -f $(which javac))))を実行できます

Macでは、$(dirname $(readlink $(which javac)))/Java_homeを実行できます

私はウィンドウについてはわかりませんが、where javacがあなたをかなり近づけると思います

73
jsdevel

これは遅いことはわかっていますが、このコマンドは/ usr /ディレクトリを検索してJavaを見つけます

Sudo find /usr/ -name *jdk

結果

/usr/lib/jvm/Java-6-openjdk
/usr/lib/jvm/Java-1.6.0-openjdk

参考までに、Macを使用している場合、現在Java_HOMEは次の場所にあります。

/System/Library/Frameworks/JavaVM.framework/Home

34
cevaris

ちょうど別のソリューション、このクロスプラットフォーム(Javaを使用)、およびjreの場所を示します。

Java -XshowSettings:properties -version 2>&1 > /dev/null | grep 'Java.home'

Javaの現在の設定をすべて出力し、Java.homeという設定を見つけます。

Windowsの場合、grepの代わりにfindstrを使用できます。

Java -XshowSettings:properties -version 2>&1 | findstr "Java.home"
29
Parth Mehrotra

使用する環境変数の値を表示するには:

echo $ VARIABLE

あなたの場合は次のようになります:

echo $ Java_HOME

設定されていない場合は、.bashrcファイルに追加できます。

export Java_HOME = $(readlink -f/usr/bin/Java | sed "s:bin/Java ::")

パッケージを更新すると動的に変更されます。

9
Paulo Fidalgo

環境で$Java_HOMEが定義されている場合...

$ echo $Java_HOME
$ # I am not lucky...

ロードされたクラスから推測できます。

$ Java -showversion -verbose 2>&1 | head -1
[Opened /usr/lib/jvm/Java-1.7.0-openjdk-1.7.0.75.x86_64/jre/lib/rt.jar]

この方法により、複数のインストールがある場合に使用される正しいjdk/jreを確実に見つけることができます。

またはstraceを使用:

$ strace -e open Java -showversion 2>&1 | grep -m1 /jre/
open("/usr/lib/jvm/Java-1.7.0-openjdk-1.7.0.75.x86_64/jre/bin/../lib/AMD64/jli/tls/x86_64/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
8
dnozay

ターミナルで、次を入力します。

echo "$ Java_HOME"

何も取得していない場合は、環境変数Java_HOMEが設定されていません。 「locate Java」を使用して、Javaのインストールがどこにあるかを試してみることができます。

Java_HOMEを設定しましたか

  • Kornおよびbashシェル:export Java_HOME = jdk-install-dir
  • Bourne Shell:Java_HOME = jdk-install-dir; export Java_HOME
  • Cシェル:setenv Java_HOME jdk-install-dir
2
Nizar Grira

ここに改善があり、ディレクトリだけを標準出力に取得します。

Java -XshowSettings:properties -version 2>&1 \
   | sed '/^[[:space:]]*Java\.home/!d;s/^[[:space:]]*Java\.home[[:space:]]*=[[:space:]]*//'
1
user246672

(dirname $(dirname $(readlink -e $(which Java))))

0
Arun Gopalpuri