5

移至 Catalina 并重新安装所有内容后,无法运行我的 Play Scala 应用程序。

这样做sbt之后run,我得到这个错误:

[warn] Error loading JNotify watch service: null

一切都是用这个 brewfile 中的 brew 安装的(我没有粘贴完整的文件):

tap "AdoptOpenJDK/openjdk"

# Mac apps
cask "adoptopenjdk8"

brew "sbt@0.13"
brew "jenv"

爪哇版:

openjdk version "1.8.0_242"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.242-b08, mixed mode)

sbt: 0.13.18 播放: 2.6.20 os x: 10.15.3 (19D76)

4

3 回答 3

3

我无法从技术上解释为什么 JNotify 在您的环境中运行不佳,但我可以肯定地说它与 openjdk8 的最新更新有关。

adoptopenjdk8所以我成功地用version重现了这个问题242,我的解决方法是卸载这个版本的 openjdk 并强制 brew 安装以前的版本(232):

brew cask install "https://raw.githubusercontent.com/AdoptOpenJDK/homebrew-openjdk/19d716f1c9ebc325ed23c5df580e0d2b027285a1/Casks/adoptopenjdk8.rb"

于 2020-02-26T15:02:05.840 回答
2

我遇到了这个问题。上面的答案对我有帮助。对我来说,一个稍微简单的方法不是卸载当前版本,而是使用 sdk man 安装 8.0.232.fx-zulu。将此版本设为默认值。有效。

命令:

sdk list java sdk install java 8.0.232.fx-zulu 设为默认值:y

构建并运行您的应用程序。

于 2020-03-19T16:19:52.153 回答
0

感谢@rsefuril。我遇到过同样的问题。我采用了openjdk8版本242,安装openjdk版本“1.8.0_232”解决了这个问题。但是我安装了graalvm。此链接显示如何将 graalvm 安装到 macos。从这里下载 graalvm https://github.com/graalvm/graalvm-ce-builds/releases/tag/vm-19.3.0

  1. 我下载了 https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-19.3.0/graalvm-ce-java8-darwin-amd64-19.3.0.tar.gz

  2. 然后提取文件并移动提取的文件夹

    sudo mv ~/Downloads/graalvm-ce-java8-19.3.0 /Library/Java/JavaVirtualMachines

  3. 将以下行添加到 ~/.zprofile 文件:export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

  4. 然后检查java版本是否正确:

    java版本

openjdk 版本“1.8.0_232”OpenJDK 运行时环境(构建 1.8.0_232-20191009173705.graal.jdk8u-src-tar-gz-b07) OpenJDK 64 位 GraalVM CE 19.3.0(构建 25.232-b07-jvmci-19.3-b05 , 混合模式)

而已。

PS:您可能需要从系统中删除以前的 Java 1.8。我通过从 /Library/Java/JavaVirtualMachines/ 中删除文件夹来删除它

于 2020-03-26T19:55:14.850 回答