Ubuntuで現在のJava_HOMEを見つける方法は? Mavenのインストール時にJava_homeパスを設定する必要があります。
ターミナルに入力し、
echo $Java_HOME
Java_HOME変数パスを表示します。
何も表示されない場合は、これで設定します
export Java_HOME=/usr/lib/jvm/Java-7-openjdk-AMD64
これは、JDKのタイプとバージョンによって異なります
表示するには、最初のコマンドに従ってください。
this をフォローして、異なるJDKを使用するか、JDKを切り替えます
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をインストールした場合にのみ機能します。
別の移植可能なオプションは、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/
Update-alternativesメカニズムを考慮するには:
$ update-alternatives --query Java | grep 'Value: ' | grep -o '/.*/jre'
次のように環境変数を設定できます。
$ export Java_HOME="$(update-alternatives --query Java | grep 'Value: ' | grep -o '/.*/jre')"
コマンドを実行するだけ
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をエコーして表示します
Ubuntu LTS(14.04/16.04)でこれを使用します。
[ -L /etc/alternatives/Java ] &&
export Java_HOME="$(readlink -f /etc/alternatives/Java | sed -e 's/\/jre\/bin\/Java$//')"
Java環境変数を設定します
PPAには、Java環境変数を自動的に設定するためのパッケージも含まれています。コマンドを実行するだけです:
Sudo apt install Oracle-Java8-set-default
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