【问题标题】:Is there a way to create native-binary from Jetpack Compose Desktop app using GraalVM?有没有办法使用 GraalVM 从 Jetpack Compose Desktop 应用程序创建本机二进制文件?
【发布时间】:2021-06-14 08:11:02
【问题描述】:

我想从我的 Compose 桌面应用程序中创建一个小型二进制文件。以下是 Compose 开箱即用的选项:

  1. 用java运行时创建native包(很好,但是体积很大)
  2. 创建一个 Uber(胖)Jar(但它需要 Java 11 才能运行,因为 Compose 库不支持旧版本)

我相信可以使用 GraalVM 将 Uber Jar 转换为原生二进制文件。我也尝试运行 native-image 命令,但它创建了一个 exe,然后运行 ​​Jar,这又回到了同样的问题;必须在机器上安装 Java 11。我错过了什么?

【问题讨论】:

    标签: windows graalvm graalvm-native-image jetbrains-compose


    【解决方案1】:

    桌面版 Compose 在后台使用 Swing,因此它与 GraalVM 的原生图像工具尚不完全兼容。

    最新版本的 GraalVM 引入了experimental support for Swing on Linux,但仍在开发中。大概一旦 Swing 支持稳定,Compose 应该可以使用原生图像。

    您的示例中发生的情况是,native-image 无法创建本机可执行文件,而是创建了一个使用常规 JVM 运行时的fallback image

    【讨论】:

      猜你喜欢
      • 2021-04-10
      • 2017-02-16
      • 1970-01-01
      • 2011-03-25
      • 2012-10-30
      • 1970-01-01
      • 2021-10-05
      • 2022-07-16
      • 1970-01-01
      相关资源
      最近更新 更多