web-dev-qa-db-ja.com

Java JDKがMacにインストールされているかどうかを確認するにはどうすればよいですか?

Java SDKがMacにインストールされているかどうかを確認するにはどうすればよいですか?

このためのコマンドラインはありますか?

106
angry kiwi

ターミナルのjavac -version

156
user180100

探しているもののためにJava_homeOS Xヘルパーバイナリを活用できます。

インストールされたJDKのすべてのバージョンをリストするには:

$ /usr/libexec/Java_home -V
Matching Java Virtual Machines (2):
    1.8.0_51, x86_64:   "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home
    1.7.0_79, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home

特定のJDKバージョンのJava_HOMEパスを要求するには、次のようにします。

$ /usr/libexec/Java_home -v 1.7
/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home

$ /usr/libexec/Java_home -v 1.8
/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home

次のように、スクリプトで上記のコマンドを利用できます。

REQUESTED_Java_VERSION="1.7"
if POSSIBLE_Java_HOME="$(/usr/libexec/Java_home -v $REQUESTED_Java_VERSION 2>/dev/null)"; then
    # Do this if you want to export Java_HOME
    export Java_HOME="$POSSIBLE_Java_HOME"
    echo "Java SDK is installed"
else
    echo "Did not find any installed JDK for version $REQUESTED_Java_VERSION"
fi

If-elseを実行して、Javaの複数の異なるバージョンを確認することもできます。

XML出力を好む場合、Java_homeにはXMLで出力する-Xオプションもあります。

$ /usr/libexec/Java_home --help
Usage: Java_home [options...]
    Returns the path to a Java home directory from the current user's settings.

Options:
    [-v/--version   <version>]       Filter Java versions in the "JVMVersion" form 1.X(+ or *).
    [-a/--Arch      <architecture>]  Filter JVMs matching architecture (i386, x86_64, etc).
    [-d/--datamodel <datamodel>]     Filter JVMs capable of -d32 or -d64
    [-t/--task      <task>]          Use the JVM list for a specific task (Applets, WebStart, BundledApp, JNI, or CommandLine)
    [-F/--failfast]                  Fail when filters return no JVMs, do not continue with default.
    [   --exec      <command> ...]   Execute the $Java_HOME/bin/<command> with the remaining arguments.
    [-R/--request]                   Request installation of a Java Runtime if not installed.
    [-X/--xml]                       Print full JVM list and additional data as XML plist.
    [-V/--verbose]                   Print full JVM list with architectures.
    [-h/--help]                      This usage information.
56
Tuxdude

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

which javac

次のように表示されるはずです

/usr/bin/javac
18
asgoth

以下のコマンドはかなりうまく機能しました:

javac -version

また、MacのJavaフォルダーに移動して手動で検証しました

/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk

Javaがインストールされていない場合、/usr/bin/Java_homeツールは1を返します。

したがって、次の方法でJavaがインストールされているかどうかを確認できます。

/usr/libexec/Java_home &> /dev/null && echo "installed" || echo  "not installed"
1
ramzes2

javacと入力するだけです。インストールされている場合は、使用法に関する情報を取得します。インストールされていない場合は、Javaをインストールするかどうかを尋ねるだけです。

1
Hari Dattada

プロジェクトのJDKを正しく定義し、IntelliJを再起動してください(完全再起動)。

0
Luís Soares