Java SDKがMacにインストールされているかどうかを確認するにはどうすればよいですか?
このためのコマンドラインはありますか?
ターミナルのjavac -version
は
探しているもののために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.
ターミナルを入力します。
which javac
次のように表示されるはずです
/usr/bin/javac
以下のコマンドはかなりうまく機能しました:
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"
javac
と入力するだけです。インストールされている場合は、使用法に関する情報を取得します。インストールされていない場合は、Javaをインストールするかどうかを尋ねるだけです。
プロジェクトのJDKを正しく定義し、IntelliJを再起動してください(完全再起動)。