380

私は職場でのみ Mac を使用しており、JAVA_HOME を JDK の適切なパスに設定する必要があります。JDKをダウンロードしてインストールしましたが、どこにも見つかりません。インターネットで解決策を探していましたが、Libraries/Java というフォルダーはありません。

4

5 に答える 5

733

場所が Java 6 (Apple 提供) から Java 7 以降 (Oracle 提供) に変更されました。これを見つける最も一般的な方法は、実行することです

/usr/libexec/java_home

これは、デフォルトの Java インストールへのパスと、存在するすべての代替インストールへのパスの両方を見つけるために、ネイティブでサポートされている方法です。

ヘルプ テキスト ( java_home -h) を確認すると、このコマンドを使用して OS X で Java プログラムを確実に起動できることがわかります ( java_home --exec ...)。目的の Java バージョンとアーキテクチャを明示的に指定したり、ユーザーに要求することさえできます。不足している場合はインストールします。

より平凡なアプローチですが、コマンドがどの Java インストールにjava解決されるかを具体的に追跡するのに役立つアプローチは、次のようになります。

  1. 走る

    which java
    
  2. /usr/bin/java実際の場所へのシンボリックリンクである のようなものが得られた場合は、実行します

    ls -l `which java`
    

    私のシステムでは、これは出力します

    /usr/bin/java -> /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home/bin/java
    

    そこから Java ホーム ディレクトリを読み取ることができます。

  3. usr/bin/java別のシンボリックリンクを指している場合、同じアプローチを再帰的に適用します

    ls -l <whatever the /usr/bin/java symlink points to>
    

重要なバリエーションは、最初に Apple の Java をインストールし、後で Oracle をインストールした場合に得られるセットアップです。その場合、上記のステップ 2 で次のようになります。

/usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Commands/java

その特定のバイナリは、環境変数を参照して呼び出すjava実際のコマンドを解決するスタブであり、設定されていないか、Java ホーム ディレクトリを指していない場合は、呼び出しにフォールバックします。セットアップをデバッグするときは、このことを念頭に置いておくことが重要です。javaJAVA_HOMEjava_home

于 2013-08-09T10:39:53.927 に答える
38

どのバージョンの Mac を使用していますか? これらのパスを試してください

 /System/Library/Frameworks/JavaVM.framework/ OR
 /usr/libexec/java_home

このリンクが役立つかもしれません - Mac OS X で $JAVA_HOME 環境変数を設定する方法

于 2013-08-09T10:34:09.483 に答える
27

JDK が次の場所にあるかどうかを確認してください。

Library/Java/JavaVirtualMachines/ または /System/Library/Java/JavaVirtualMachines/

この以前の SO 投稿を確認してください: JDK on OSX 10.7 Lion

于 2013-08-09T10:33:14.510 に答える
7

私の Mac では:

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

ところで、あなたは試しましたwhich javaか?

于 2013-08-09T10:31:36.860 に答える
6

/System/Library/Frameworks/JavaVM.framework/

マウンテン ライオンの Java 7 パスも参照してください。

于 2013-08-09T10:31:47.580 に答える