Есть какой-нибудь гайд о том как собрать java файлы в бинарник?
Можно с помощью jlink создать дистрибутивную версию программы, включающую в себя JRE. Это стандартный, официально рекомендуемый подход, но получится не один exe'шник, а каталог с множеством файлов и bat'ником для запуска программы.

Настоящий exe'шник можно сделать с помощью утилиты native-image, входящей в Graal, но далеко не все java-программы для этого подойдут.
сам по себе бинарник сделать не получится, к Java нужна JVM, но можно сделать небольшой трюк и подготовить псевдо-бинарники для разных ОС, используя плагины для Maven. Часто для пользователя важна простота запуска, а не "именно бинарник" (хотя был один такой случай с одной питоновской утилитой у меня и пришлось переписать её на Golang, так как последний позволяет сделать именно бинарник).
Если оформлять приложение в виде Spring Boot то можно сделать солянку для разных ОС с помощью Maven:
- при помощи launch4j-maven-plugin плагина сделать exe bundle версию для Windows
- при помощи appbundle-maven-plugin плагина сделать app image для Mac OS
- при помощи Spring Boot плагина сделать SH запускаемый файл для Linux
все приведенное будет использовать установленную Java на пользовательской тачке, как пример - утилита для трансляции видео на Kodi

если хочется отвязаться от установленной JDK, то при помощи jlink (к примеру через mvn-jlink плагин в мавене) делать кросс-платформенные имеджи и паковать с приложением, например так делает проект SciaReto