我在macOS蒙特雷,使用自定义JDK 15 (我必须使用为我的公司修改的定制JDK )。当我运行/usr/libexec/java_home
时,会得到以下错误:
The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.
然而,当我运行echo $JAVA_HOME
时,我得到了/Library/Java/JavaVirtualMachines/openjdk_15.0.6_15.38.18_x64
。此外,运行java --version
返回正确的JDK版本。
因为/usr/libexec/java_home
没有指向使用Java的实际JDK目录工具,因此无法工作。
有办法将/usr/libexec/java_home
设置为指向我的JDK目录吗?
发布于 2022-07-19 16:29:11
c4augustus作为a short answer使用的东西几乎对我有用。不安之处在于找出链接目录的适当内容--如another answer中所示,/usr/libexec/java_home
搜索位于Contents/
dir下的Info.plist
文件。
这是在更深的OpenJDK结构(在我的例子中)安装在系统中的Homebrew。简单地重新链接到适当的目录就有了窍门:
sudo ln -s /usr/local/Cellar/openjdk/18.0.1.1/libexec/openjdk.jdk/ /Library/Java/JavaVirtualMachines/openjdk-18.jdk
希望这能帮助到一些人(我需要它,因为VS代码能够处理PlantUML文档中的AsciiDoc图片)。
发布于 2022-04-11 15:37:43
要深入研究这个主题,请参阅以下问题:
How can I change Mac OS's default Java VM returned from /usr/libexec/java_home
How to set or change the default Java (JDK) version on macOS?
下面是一个简短的答案,很有效:
sudo ln -s (absolute path to your JVM) /Library/Java/JavaVirtualMachines/(symlink name)
在我的例子中,它指向最新的Android中的JVM:
sudo ln -s /Applications/Android\ Studio.app/Contents/jre /Library/Java/JavaVirtualMachines/android-studio-jre
https://stackoverflow.com/questions/71606695
复制相似问题