TGViewer
Чашечка Java Чашечка Java @a_cup_of_java · 8.35K subscribers
Post #8698 290
Как собрать Swing-приложение без JVM у пользователя

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
More from @a_cup_of_java
  1. Oct 16, 2026Java в браузере: редактировать, компилировать, запускать В учебном примере удобно поменять…
  2. Oct 16, 2026Почему копирование HashMap стало быстрее в JDK 27 При вызове putAll() карта раньше читала…
  3. Oct 14, 2026Spring Boot и PostgreSQL: дедлок может быть в транзакциях Приложение получило ошибку 40P01…
  4. Oct 14, 2026Развёрнутое пояснение: 1. Создаётся session, реализующий AutoCloseable: при закрытии он вы…
  5. Oct 14, 2026Post #8693
  6. Oct 13, 2026Post #8692
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →