Macos 如何检查Java JDK是否安装在Mac上?
如何检查Mac上是否安装了Java SDK 是否有此命令行?在终端中键入:Macos 如何检查Java JDK是否安装在Mac上?,macos,java,Macos,Java,如何检查Mac上是否安装了Java SDK 是否有此命令行?在终端中键入: which javac 它应该向你展示 /usr/bin/javac javac-终端中的版本可以只需键入javac。如果安装了它,您将获得使用信息,否则它只会询问您是否要安装Java。您可以利用OS X上的Java\u home帮助程序二进制文件来查找所需内容 要列出已安装JDK的所有版本,请执行以下操作: $ /usr/libexec/java_home -V Matching Java Virtual Mach
which javac
它应该向你展示
/usr/bin/javac
javac-终端中的版本
可以只需键入javac
。如果安装了它,您将获得使用信息,否则它只会询问您是否要安装Java。您可以利用OS X
上的Java\u home
帮助程序二进制文件来查找所需内容
要列出已安装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_主路径,可以执行以下操作:
$ /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.
$/usr/libexec/java\u主页--帮助
用法:java_home[选项…]
从当前用户的设置返回Java主目录的路径。
选项:
[-v/--version]过滤“JVMVersion”表单1.X(+或*)中的Java版本。
[-a/--arch]筛选JVM匹配的体系结构(i386、x86_64等)。
[-d/--datamodel]筛选能够使用-d32或-d64的JVM
[-t/--task]将JVM列表用于特定任务(小程序、WebStart、BundleApp、JNI或命令行)
[-F/--failfast]当筛选器没有返回JVM时失败,不要使用默认值继续。
[--exec…]使用其余参数执行$JAVA_HOME/bin/。
[-R/--request]如果未安装,则请求安装Java运行时。
[-X/--xml]将完整的JVM列表和附加数据打印为xml plist。
[-V/--verbose]打印带有架构的完整JVM列表。
[-h/--help]此用法信息。
/usr/bin/java\u home
如果未安装java,工具将返回1
因此,您可以通过下一种方式检查是否安装了java:
/usr/libexec/java_home &> /dev/null && echo "installed" || echo "not installed"
确保正确定义项目的JDK并重新启动IntelliJ(完全重新启动)。下面的命令运行得很好:
javac -version
我还通过导航到Mac上的Java文件夹手动进行了验证
/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk
- 打开终端
- 运行命令以查看: javac版本
- 您也可以手动验证,方法是转到特定位置,然后进行检查。要执行此操作,请在mac终端中运行下面的命令 cd/Library/Java/JavaVirtualMachine/
然后再次在终端中运行
ls
命令。现在您可以看到jdk版本和软件包(如果您的计算机中存在) 如果您使用的是Mac OS Big-Sur,那么您可能有一个混乱的java安装。
我在本文中找到了有关如何解决此问题的信息:
/usr/libexec/java_home-v15
并复制输出.bash_配置文件
或.zshrc
文件中,具体取决于您使用的shell。您的主目录中可能只有一个文件(~/.bash_profile
或~/.zshrc
)source~/.bash_配置文件
或source~/.zshrc
java-v
-答案是:路径中存在java命令并不能证明安装了JDK(但安装了JRE),我同意。我可以运行“which java”或“which javac”,但我在运行“java--version”时收到一条错误消息,因为没有安装JDK。-1这是完全错误的。默认情况下,所有Mac都带有
javac
垫片。它与是否安装Java无关。我得到了“javac1.6.0_37”它是否等同于JDK6或7?但是,如果没有安装Java,将出现一个对话框,告诉您需要安装Java,因此这不是脚本的好选项。如果“操作无法完成。找不到Java运行时。请访问以获取有关安装Java的信息。“,转到并下载Java jdk!”软件未运行“错误输出是什么?
sudo mv openjdk-15.0.2_osx-x64_bin.tar.gz /Library/Java/JavaVirtualMachines/
cd /Library/Java/JavaVirtualMachines/
sudo tar -xzf openjdk-15.0.2_osx-x64_bin.tar.gz
sudo rm openjdk-15.0.2_osx-x64_bin.tar.gz
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-15.0.2.jdk/Contents/Home