Just in case, JavaPackager will handle all of them for you (app icon [.ico for win, .icns for mac, .png for linux], bash script generation, bundling minimal-sized JRE, additional resources, Mac-specific app directory structure, vmArgs,…)