如何检查 Mac 上是否安装了 Java SDK?
有命令行吗?
原文由 angry kiwi 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何检查 Mac 上是否安装了 Java SDK?
有命令行吗?
原文由 angry kiwi 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以利用 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 也有一个 -X 选项可以输出 XML。
$ /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.
原文由 Tuxdude 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
3 回答3.9k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
2 回答3.1k 阅读
javac -version
在终端中即可