web-dev-qa-db-ja.com

ubuntuで現在のJava_HOMEを見つける方法は?

Ubuntuで現在のJava_HOMEを見つける方法は? Mavenのインストール時にJava_homeパスを設定する必要があります。

53

ターミナルに入力し、

echo $Java_HOME

Java_HOME変数パスを表示します。

何も表示されない場合は、これで設定します

export Java_HOME=/usr/lib/jvm/Java-7-openjdk-AMD64

これは、JDKのタイプとバージョンによって異なります

表示するには、最初のコマンドに従ってください。

this をフォローして、異なるJDKを使用するか、JDKを切り替えます

82
Deepen

JDK 1.6(Java 6に対応)または新しいバージョンがインストールされている場合、jrunscriptという名前のプログラムがPATHに必要です。これを使用して、対応するJava_HOMEを見つけることができます。例:

$ jrunscript -e 'Java.lang.System.out.println(Java.lang.System.getProperty("Java.home"));'
/opt/local/jdk1.7.0_76/jre

次のように環境変数を設定できます。

$ export Java_HOME="$(jrunscript -e 'Java.lang.System.out.println(Java.lang.System.getProperty("Java.home"));')"

JREにはjrunscriptが含まれていないことに注意してください。したがって、これはJREだけでなくJDKをインストールした場合にのみ機能します。

33
rob mayoff

別の移植可能なオプションは、javacからJDKの絶対パスを抽出することです。

export Java_HOME=`type -p javac|xargs readlink -f|xargs dirname|xargs dirname`

絶対javacパスがdirnameに2回渡され、/bin/javacが末尾から削除されます。ディレクトリの完全な抽出は次のとおりです。

$ type -p javac
/usr/bin/javac

$ readlink -f /usr/bin/javac
/usr/lib/jvm/Java-8-Oracle/bin/javac

$ dirname /usr/lib/jvm/Java-8-Oracle/bin/javac
/usr/lib/jvm/Java-8-Oracle/bin/

$ dirname /usr/lib/jvm/Java-8-Oracle/bin/
/usr/lib/jvm/Java-8-Oracle/
15
rzymek

Update-alternativesメカニズムを考慮するには:

$ update-alternatives --query Java | grep 'Value: ' | grep -o '/.*/jre'

次のように環境変数を設定できます。

$ export Java_HOME="$(update-alternatives --query Java | grep 'Value: ' | grep -o '/.*/jre')"
7
Francisco

コマンドを実行するだけ

 Sudo update-alternatives --config Java

それは次のようなものを与えます

Es gibt nur eine Alternative in Link-Gruppe Java (die /usr/bin/Java bereitstellt): /usr/lib/jvm/Java-8-Oracle/jre/bin/Java

これから、/ usr/lib/jvm/Java-8-Oracle /がJava homeになります。これをJava_HOME変数にエクスポートできます

export Java_HOME=/usr/lib/jvm/Java-8-Oracle/

$ Java_HOMEをエコーし​​て表示します

5
vimal krishna

Ubuntu LTS(14.04/16.04)でこれを使用します。

[ -L /etc/alternatives/Java ] && 
  export Java_HOME="$(readlink -f /etc/alternatives/Java | sed -e 's/\/jre\/bin\/Java$//')"
1
ggrandes

Java環境変数を設定します

PPAには、Java環境変数を自動的に設定するためのパッケージも含まれています。コマンドを実行するだけです:

Sudo apt install Oracle-Java8-set-default

この記事から: Oracle Java 8/9をUbuntu 16.04、Linux Mint 18にインストール

1
user2682025

Java 9以降の場合:

この回答 https://askubuntu.com/a/657468/96 は、同梱のNashorn JavaScriptエンジンNashornを使用してJava.homeシステムプロパティを出力します。 Nashornは非推奨になっているため、代わりにJava 9で導入されたjshellを使用することです。

echo 'System.out.println(Java.lang.System.getProperty("Java.home"));' | jshell  -

私のUbuntu 18.10システムでは次のように出力されます:

/usr/lib/jvm/Java-11-openjdk-AMD64