Любая java программа требует предустановленного JRE.Почему?
Вы не будете просить каждого пользователя установить java нужной версии.
Если предположить, что удалось с помощью костылей и бубна закрыть эту проблему, используя условно Java Packager или аналог, то мы получаем приложение, которая значительно больше по своему размеру и ограничены на возможность использования более новый версии языка, так как подвязаны к определенной версии JRE установленного у конечного пользователя. Это всё костыльно.
По этой причине, удачным решением будет использовать ту среду, где нет зависимостей от джава или дотнет фреймоворка, просто чтоб запустил и она работала и весила как можно меньше.
С этим хорошо справляется Delphi или С++ и т.д.