Есть ли способ создать собственный двоичный файл из приложения Jetpack Compose Desktop с помощью GraalVM?

Я хочу создать небольшой двоичный файл из своего настольного приложения Compose. Ниже приведены стандартные параметры Compose:

  1. Создать собственный пакет со средой выполнения java (отлично, но размер очень большой)
  2. Создайте Uber (толстый) Jar (но для его работы требуется Java 11, поскольку библиотека Compose не поддерживает более старые версии)

Я считаю, что можно преобразовать Uber Jar в собственный двоичный файл с помощью GraalVM. Я также пробовал запустить команду native-image, но она создала исполняемый файл, который, в свою очередь, запускает Jar, что возвращает к той же проблеме; На машине должна быть установлена ​​Java 11. Что мне не хватает?

1 ответ

Compose for desktop использует Swing в фоновом режиме, поэтому он еще не полностью совместим с инструментом GraalVM native-image.

В последней версии GraalVM появилась экспериментальная поддержка Swing в Linux , но она все еще находится в разработке. Предположительно, когда поддержка Swing станет стабильной, Compose должен работать с native-image.

В вашем примере происходит то, что native-image не может создать собственный исполняемый файл, а вместо этого создает резервный образ , который использует обычную среду выполнения JVM.

Другие вопросы по тегам