Mac 上 Installing/Running GraalVM 的问题

Problem with Installing/Running GraalVM on Mac

我正在使用 MacOS Catalina 10.15.7 机器运行在防火墙后面。

我开始评估 Micronaut 和 Quarkus 作为 Spring 引导的替代方案,其中一个主要原因是能够编译为本机映像。

为了能够做到这一点,我必须安装 GraalVM。我按照这里的说明 GraalVM Community Edition 20.3.0 并下载了 graalvm-ce-java11-darwin-amd64-20.3.0.tar.gz,我将它解压缩到我选择的文件夹中然后导出 /Users/myId/work/dev/graalvm/graalvm-ce-java11-20.3.0/Contents/Home/ 作为 GRAALVM_HOME 并在我的路径中添加了 GRALLVM_HOME\bin。

在此之后,我去了 https://code.quarkus.io/ 并上传了一个 Hello World Quarkus 项目,将使用 gradle (6.8) 构建。

当我 运行 gardle build 一切正常。 当我 运行 gradle quarkusDev 应用程序正常启动时,我可以到达 Hello World 终点。

然而,当我尝试使用 gradle build -Dquarkus.package.type=native 构建本机映像时,出现以下异常

java.lang.RuntimeException: Cannot find the `native-image` in the GRAALVM_HOME, JAVA_HOME and System PATH. Install it using `gu install native-image`

尝试 运行 gu install native-image 结果 window 在我的屏幕上弹出

“graalvm-ce-java11-20.3.0” is damaged and can’t be opened. You should move it to the Bin.

当我尝试 运行 使用 gradle build -Dquarkus.package.type=uber-jargradle build

构建 jar 时,同样的错误 window 弹出

我认为我的 GraalVM 下载没有损坏,因为解压后的文件看起来没问题,而且似乎具有正确的结构。

如有任何帮助或提示,我们将不胜感激。提前谢谢你。

在 MacOS catalina 中,您可以通过执行以下命令来解决此问题:

xattr -d com.apple.quarantine <PATH TO GRAALVM INSTALLATION>

这是一个已知问题。可以在以下链接中找到更多信息:

https://github.com/oracle/graal/issues/1724

https://github.com/graalvm/homebrew-tap/issues/6