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


125

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

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


「そのソフトウェアは実行されていません」 エラー出力とは何ですか?
Andrew Thompson

回答:


183

javac -version 端末で行います


「javac 1.6.0_37」を取得しました。jdk6または7と同等ですか?
怒ったキウイ

7
ただし、Javaがインストールされていない場合は、Javaをインストールする必要があることを通知するダイアログボックスが表示されるため、これはスクリプトに適したオプションではありません。
有料オタク、2016年

70

あなたが探しているもののためにjava_homeヘルパーバイナリを活用することができOS 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.

17

端末を入力:

which javac

それはあなたに次のようなものを示すはずです

/usr/bin/javac

12
回答の-1:パスにjavaコマンドが存在しても、JDKがインストールされている(JREがインストールされている)ことを証明しません
Luigi R. Viggiano

同意する。「which java」または「which javac」を実行できましたが、JDKがインストールされていないため、「java --version」を実行するとエラーメッセージが表示されました。
fanchyna 2016年

1
-1これは完全に間違っています。すべてのMacにはjavacデフォルトでシムが付属しています。Javaがインストールされているかどうかには関係ありません。
Radon Rosborough 2017


2

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

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

/usr/libexec/java_home &> /dev/null && echo "installed" || echo  "not installed"

1

入力するだけですjavac。インストールされている場合は使用情報が表示され、インストールされていない場合はJavaをインストールするかどうかが尋ねられます。



0
  • 端末を開きます。
  • コマンドを実行して確認:

    javac -version

  • また、特定の場所に移動して確認することにより、手動で確認することもできます。これを行うには、macターミナルで以下のコマンドを実行します

    cd /ライブラリ/ Java / JavaVirtualMachines /

次にls、ターミナルでコマンドを再度実行します。これで、jdkのバージョンとパッケージがコンピューターに存在する場合は、それを確認できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.