Quarkus 应用 运行 在 ARMv7(32 位)设备 (IoT) 上的 GraalVM 本机图像

GraalVM native-image of Quarkus app run on ARMv7 (32bit) device (IoT)

是否可以在 ARMv7(32 位)设备上 运行 Quarkus 框架应用程序的 GraalVM 本机映像?我知道 GraalVM 不支持 32 位环境,但我想知道是否有某种方法可以 运行 带有已编译 GraalVM 本机映像的二进制文件。是否有某种方法可以配置 GraalVM 用来实现该目的的 LLVM?我们准备的 IoT 设备必须有一些带有简单仪表板的 Web 应用程序(本地访问)。由于设备存储空间太小,无法安装任何 Java JDK >= 8,我想知道 GraalVM native-image 是否可以完成这项工作。

您似乎无法在 32 位机器上 compile/run GraalVM 本机映像。如果您想为规格有限的本地物联网设备开发简单的网络应用程序,您有两个选择:

  1. 使用 jlink 创建自定义 JDK 图像(自 JDK 9 起可用)。您可以将 JDK9 缩小到 50MB。请记住,JDK 9 没有 ARMv7(32 位)版本(我还没有找到),但是当然你可以对 ARM 32 位架构的 JDK 11 做同样的事情。
  2. 使用 Gin 等轻量级 Web 框架在 Golang 中编写程序。嵌入已编译二进制文件的 GC 收集器仅占用 ~1.9MB(他们不断尝试使其更小)。 Golang 是很棒的语言,而且速度很快。