【发布时间】:2021-01-19 06:24:53
【问题描述】:
我使用的是在防火墙后面运行的 MacOS Catalina 10.15.7 机器。
我开始评估 Micronaut 和 Quarkus 作为 Spring boot 的替代品,其中一个主要原因是能够编译为本机映像。
为了能够做到这一点,我必须安装 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 会导致我的屏幕上弹出一个窗口
“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-jar 或仅使用 gradle build 运行 jar 构建时,会弹出相同的错误窗口
我认为我的 GraalVM 下载没有损坏,因为解压后的文件看起来没问题,而且结构似乎正确。
任何帮助或提示将不胜感激。提前谢谢你。
【问题讨论】:
标签: quarkus graalvm graalvm-native-image