如何从 macOS Catalina build 10.15.4 运行 java?

How to run java from macOS Catalina build 10.15.4?

我刚刚将我的 macOS Catalina 从 10.15.3 升级到 10.15.4,我不能再在 IntelliJ 中 运行 java。

我通过应用 brew:

中的警告,设法让它在终端上工作
➜  ~ brew reinstall java
==> Reinstalling openjdk 
==> Downloading https://homebrew.bintray.com/bottles/openjdk-13.0.2+8_2.catalina.bottle.tar.gz
Already downloaded: /Users/jactor/Library/Caches/Homebrew/downloads/0dd8815aa4758e78a47b642bf541e2ada54d5067a8742b33b309989b77d0741b--openjdk-13.0.2+8_2.catalina.bottle.tar.gz
==> Pouring openjdk-13.0.2+8_2.catalina.bottle.tar.gz
==> Caveats
For the system Java wrappers to find this JDK, symlink it with
  sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

openjdk is keg-only, which means it was not symlinked into /usr/local,
because it shadows the macOS `java` wrapper.

If you need to have openjdk first in your PATH run:
  echo 'export PATH="/usr/local/opt/openjdk/bin:$PATH"' >> ~/.zshrc

For compilers to find openjdk you may need to set:
  export CPPFLAGS="-I/usr/local/opt/openjdk/include"

==> Summary
  /usr/local/Cellar/openjdk/13.0.2+8_2: 631 files, 314.6MB

当我启动 IntellJ 时,来自 Mac 的弹出窗口显示:

"openjdk-13.0.1.jdk” cannot be opened because the developer cannot be verified.
macOS cannot verify that this app is free from malware.
Homebrew Cask downloaded this file on 3 December 2019 from openjdk.java.net.

如何解决这个问题?缓存的文件(从 12 月开始)没有更新吗?

打开System Preferences -> Security and Privacy -> General

您应该会看到有关 Java 被阻止的警告,您可以单击 "Allow anyway"

下次 运行 java 您将收到一条确认消息,其中包含继续选项:

这在终端中运行良好,但由于 "old" Intellijs 项目结构中使用了 SDK 而成为一个问题...

将 SDK 设置为 /Library/Java/JavaVirtualMachines/openjdk.jdk 时,效果很好 :) `

就我而言,我没有在安全和隐私设置中看到任何警告,我只是使用 installer:

重新安装了 Adopt Open JDK

https://adoptopenjdk.net/releases.html?variant=openjdk11&jvmVariant=hotspot

不需要其他步骤。

顺便说一句,我像这样在 ~/.zprofile 中导出 JAVA_HOME:

export JAVA_HOME=$(/usr/libexec/java_home -v 11) # 1.8, 11

并添加到路径:

export PATH=$JAVA_HOME:$M2_HOME

2021 年最简单的方法是使用 brew 和 jenv

brew install jenv openjdk@11
jenv add /usr/local/opt/openjdk@11

然后在Intellij IDEA中添加一个新的SDK,路径如下:

~/.jenv/versions/11/libexec/openjdk.jdk/Contents/Home/

我还建议添加您的 .zshrc(或 .bashrc

export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"
export JAVA_HOME="$HOME/.jenv/versions/`jenv version-name`"