Od Javy 9 można dołączać tak jakby JVM'a do skompilowanych rzeczy. Dzięki temu na innej maszynie nie trzeba mieć zainstalowanej Javy żeby uruchomić aplikację (możliwe, że ograniczeniem będzie system operacyjny tzn. jak pakujesz coś takiego na Windowsie to będzie działać tylko na Windowsie - ale nie weryfikowałem tego - więc to może być nieprawda). Robi się to za pomocą narzędzia jlink. Niestety nie znam za bardzo szczegółów tego procesu i na co trzeba zwrócić uwagę, więc musisz sam poszukać informacji na ten temat.
https://docs.oracle.com/en/java/javase/11/tools/jlink.html
https://www.baeldung.com/jlink