Есть ли способ создать собственный двоичный файл из приложения Jetpack Compose Desktop с помощью GraalVM?
Я хочу создать небольшой двоичный файл из своего настольного приложения Compose. Ниже приведены стандартные параметры Compose:
- Создать собственный пакет со средой выполнения java (отлично, но размер очень большой)
- Создайте 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.