Quarkus Desktop помогает собрать приложение на AWT или Swing в нативный исполняемый файл. Расширение регистрирует необходимые классы, ресурсы и JNI-вызовы для GraalVM, а библиотеки JDK размещает рядом с бинарником.
В руководстве автора окно становится CDI-компонентом. Оно получает зависимости через
@Inject и открывается по DesktopStartupEvent в потоке обработки событий Swing — EDT.Долгие операции выполняют в фоновом executor, а обновление интерфейса возвращают на EDT через
EdtExecutor. Для окон подходят области @Singleton и @Dependent: обычный CDI-прокси для Swing-компонента создаёт проблемы.Нативная сборка выполняется под целевую ОС. Для macOS нужны Quarkus 4.0 и GraalVM 25.1 или новее; на Windows arm64 доступен режим JVM. Динамически загружать неизвестные при сборке классы в нативном приложении нельзя.
#java #swing
