web-dev-qa-db-ja.com

MacOS Mojave(10.14)からLion(10.7)のJava_HOMEはどこにありますか?

Javaは、最新バージョンのmacOSのオプションパッケージです。

まだインストールされると、 Java_HOME 環境変数は のように正しく設定されていません

532
Olivier Refalo

Javaオプションパッケージ または /またはOracle JDK がインストールされている場合、 〜/ .bash_profile ファイルに次の行のいずれかを追加すると、それに応じて環境変数が設定されます。

export Java_HOME="$(/usr/libexec/Java_home -v 1.6)"
or
export Java_HOME="$(/usr/libexec/Java_home -v 1.7)"
or
export Java_HOME="$(/usr/libexec/Java_home -v 1.8)"

更新:Jilles van Gurpresponse に基づく -v フラグを追加.

1022
Olivier Refalo

/usr/libexec/Java_homeはディレクトリではなく実行可能ファイルです。現在設定されているJava_HOMEを出力し、実際には変更しません。これがJava Preferencesアプリの目的です。私の場合はこれが壊れているように見え、実際にはJVMを正しく変更しません。それは1.7 JVMをリストしますが、私は実際に/usr/libexec/Java_homeの出力を変えることなしにそこに欲しいもの全てをトグル/アントグル&ドラッグアンドドロップすることができます。

LionにOracleから1.7.0 u6をインストールし、それを環境設定のデフォルトとして設定した後でも、Apple 1.6 Javaホームを返しました。私にとって実際に機能する唯一の修正は、手動でJava_HOMEを設定することです。

export Java_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_06.jdk/Contents/Home/

少なくともこのようにコマンドラインから実行すると、1.7が使用されます。 /usr/libexec/Java_homeはまだ1.6を主張しています。

更新 OSXでのコマンドラインからのJavaの理解 に、これがどのように機能するかについてのより良い説明があります。

export Java_HOME=`/usr/libexec/Java_home -v 1.7` 

それを行う方法です。注意してください、これを1.8に更新しても問題ありません。

102
Jilles van Gurp

私にとっては、Mountain Lion 10.8.2、最も投票された解決策はうまくいきません。私はOracleを介してjdk 1.7をインストールし、自作のmavenを使用しました。

私の解決策は私も自作からインストールしたhadoopのhadoop-env.shファイルからです。以下の文章を〜/ .bash_profileに追加しても動作します。

export Java_HOME="$(/usr/libexec/Java_home)"

このソリューションは、OracleからインストールされたJava 1.8を搭載したOS X Yosemiteでも機能します。

79
onpduo

上記の答えのどれも私を助けませんでした。私はすべての答えが古いOS X用であると思います

OS X Yosemite 10.10の場合は、次の手順に従います。

お気に入りのテキストエディタを使って開きます:~/.bash_profile

//This command will open the file using vim
$ vim ~/.bash_profile

ファイルに次の行を追加して保存します(:の後にvimの場合は "x"が付きます)。

export Java_HOME=$(/usr/libexec/Java_home)

次に、端末で次の2つのコマンドを入力して出力を確認します。

$ source ~/.bash_profile

$ echo $Java_HOME

2行目で、.bash_profileファイルの内容を更新しています。

39
Giri

これはAmazonのEC2ツールではうまくいきませんでした。なぜなら、それはbin/Javaの下にJava_HOMEなどを期待するからです。 /System/Library/Frameworks/JavaVM.framework/Homeは動作しました。

28
Cawflands

Java 9といくつかのきちんとした別名のためのアップデート。

.bash_profile内:

export Java_HOME8=`/usr/libexec/Java_home --version 1.8`
export Java_HOME9=`/usr/libexec/Java_home --version 9`

最新バージョンでは9であり1.9ではないことに注意してください。

アクティブなJavaを設定します。

export Java_HOME=$Java_HOME8
export PATH=$Java_HOME/bin:$PATH

異なるバージョンを切り替えるための追加のエイリアスがいくつかあります。

alias j8='export Java_HOME=$Java_HOME8; export PATH=$Java_HOME/bin:$PATH'
alias j9='export Java_HOME=$Java_HOME9; export PATH=$Java_HOME/bin:$PATH'

端末でテストします。

%j8 
%Java -version 
 Javaバージョン "1.8.0_121" 
 Java(TM)SEランタイム環境(ビルド1.8.0_121-b13) Java HotSpot(TM)64ビットサーバーVM(ビルド25.121-b13、混合モード)
%j9 
%Java -version 
 Javaバージョン "9" 
 Java(TM)SEランタイム環境(ビルド9 + 181)
 Java HotSpot(TM)64ビットサーバーVM(ビルド9 + 181、混合モード)

編集:Java 10用のアップデート

 export Java_HOME10 = `/ usr/libexec/Java_home --version 10` 
 alias j10 = 'export Java_HOME = $ Java_HOME10; export PATH = $ Java_HOME/bin:$ PATH '

編集:Java 11用のアップデート

 export Java_HOME10 = `/ usr/libexec/Java_home --version 11` 
 alias j11 = 'export Java_HOME = $ Java_HOME11; export PATH = $ Java_HOME/bin:$ PATH '
27
Peter Keller

OS Xでは、次のことができます。

export Java_HOME=`/System/Library/Frameworks/JavaVM.framework/Versions/Current/commands/Java_home`
18
sufinawaz

Mac OS X Lionでは、visualgcを実行するように設定するために、次のものを使用しました。

export Java_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
14
EGHM

次は私のために働いた。私はJava 8がインストールされたOSX Yosemite上でZSHを使っています。

次のコマンド/usr/libexec/Java_homeは、JDKホームへのパスを生成します。

/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home

あなたの~/.zshrcに、

export Java_HOME = "/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home"
13
Hemanta

1.7.0_21-b12などの新しいOracle JVMは、ここにインストールされるようです。

/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

10
Archie

より良い(よりアップグレード可能な)方法は以下を使うことです。

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

Homeの下にbinがあるため、これはAWSでも機能するはずです。

10
czarcrab

macOS Mojave 10.14.1およびJava 11.0.1の場合、プロファイルを次のように設定します。

export Java_HOME=$(/usr/libexec/Java_home)

確認のためにこれを端末にキー入力します。

$Java_HOME/bin/Java -version

Java version "11.0.1" 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
7
Jiulong Zhao

私のアプローチは:

.bashrc

export Java6_HOME=`/usr/libexec/Java_home -v 1.6`
export Java7_HOME=`/usr/libexec/Java_home -v 1.7`
export Java_HOME=$Java6_HOME

# -- optional
# export PATH=$Java_HOME/bin:$PATH

これにより、J6とJ7を簡単に切り替えることができます。

5
Mike Mitterer

私は私のMacbook airの正確なパスにそれを明示的に設定しなければならなかった。

手順は次のとおりです。

  1. echo $Java_HOMEを試してみて(設定されていればパスを表示するでしょう)、そうでなければSudo find /usr/ -name *jdkを使って検索してみてください
  2. - Sudo nano ~/.bash_profileでBash pを編集します
  3. Javaホームへの正確なパスを追加します(上記のステップ2のパスを使用)。export Java_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
  4. 保存して終了
  5. - echo $Java_HOMEを使用してJava_Homeをチェックしてください

Java 8搭載のMacbook AirでMACOS MOJAVE - 10.14.2(18C54)を実行しています。

3
Robin

Mac OS X 10.9の場合、Oracleから最新バージョンのJREをインストールし、次にJava_HOMEを/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Homeに再設定しました。

私はもっ​​と良い方法があると確信していますが、私を立ち上げて走らせました。

hughsmac:〜hbrien $ echo $ Java_HOME /ライブラリ/ Java/Java仮想マシン/ jdk1.7.0_45.jdk /コンテンツ/ホーム

2
Hugh Brien

OSX Yosemite、ZSH、およびJava SE Runtime Environment 8では、次のことが必要でした。

$ Sudo ln -s /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands /System/Library/Frameworks/JavaVM.framework/Versions/Current/bin

そして〜/ .zshrcでJava_HOMEをexport Java_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/Current"に変更します。

2
mmell

私のMac OSをアップグレードした後に同じ問題が発生し、次のように動作しました。

  1. cmd> vi〜/ .bash_profile

  2. Java_HOMEの行を追加/更新します。export Java_HOME = "/ Library/Java/JavaVirtualMachines/jdk1.7.0_15.jdk/Contents/Home"

  3. cmd> source〜/ .bash_profileまたは新しい端末を開く

Jdkのバージョンは異なるかもしれないと思うので、/ Library/Java/JavaVirtualMachines /にあるバージョンを使用してください。

1
user1270392

Mac OS X(Yosemite)で複数のバージョンのJDKを使用する必要がある場合は、それらを自動的に切り替えるためのスクリプトを追加すると便利です。

〜/ .bash_profile を編集して、次の行を追加してください。

function setjdk() {
  if [ $# -ne 0 ]; then
   removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin'
   if [ -n "${Java_HOME+x}" ]; then
    removeFromPath $Java_HOME
   fi
   export Java_HOME=`/usr/libexec/Java_home -v [email protected]`
   export PATH=$Java_HOME/bin:$PATH
  fi
 }
 function removeFromPath() {
  export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")
 }
setjdk 1.7

このスクリプトが実行するのは、最初に _ path _ にある他のJDKバージョンを削除して、それらが新しいJDKバージョンに干渉しないようにすることです。それから /usr/libexec/Java_home を賢く使用します。これはインストールされているJDKのバージョンを一覧表示するコマンドです。 -v 引数は、 Java_home に、指定されたバージョンのJDKのパス(例:1.7)を返すように指示します。また、 _ path _ を、新しく見つかった Java_HOME ディレクトリのbinディレクトリを指すように更新します。最後に、単純に関数を実行することができます

setjdk 1.7

これは1.7ブランチの最新のインストール済みJDKバージョンを選択します。特定のバージョンを選択するには、単に実行することができます

setjdk 1.7.0_51

代わりに。バージョンの選択方法についての詳細は、 /usr/libexec/Java_home -V を実行してください。

P.S保存後は source〜/ .bash_profile を忘れないでください。

1
azec-pdx

Mac Yosemiteの場合、

JDK 1.7.0_xxが使用しています

$ ls -ltar /usr/bin/Java
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/Java

Java_HOME

/Library/Java/JavaVirtualMachines/jdk1.7.0_xx.jdk/Contents/Home
0
Mikey

netbeans.confファイルに1.8 jdkバージョンのJava_homeを設定するだけです。

/Applications/NetBeans/NetBeans 8.2.app/Contents/Resources/NetBeans/etc/netbeans.conf

コメント解除行:

netbeans_jdkhome="path/to/jdk"

そして私の場合では、あなたの1.8 JDKへのパスを設定します。

netbeans_jdkhome="/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home"

このアプローチはあなたがMac OS上でいくつかのJDKバージョンを持つことを可能にします

0

私はHigh Sierra 10.13.4で Fish Shellを使用し、Brew経由でJavaをインストールしました。

私が実行している私のシステムでは、 正しく に設定するように自動的には設定されません。

set -U Java_HOME (/usr/libexec/Java_home)
0
chrismacp

Mac上のFishターミナルユーザー(Linuxでも利用できると思います)の場合、これは機能するはずです。

set -Ux Java_8 (/usr/libexec/Java_home --version 1.8)
set -Ux Java_12 (/usr/libexec/Java_home --version 12)
set -Ux Java_HOME $Java_8       //or whichever version you want as default
0
Jaguar