Jorl17 / jar2app

Convert any Java jar to a Mac OS X .App bundle. No external tools needed, no funky parameters, it just works.
GNU General Public License v2.0
414 stars 56 forks source link

Java 9/10 Bundle Support #24

Open Palidino opened 6 years ago

Palidino commented 6 years ago

Will this ever be added?

patrickangle commented 6 years ago

It does actually seem to support bundling Java 9/10/11. I downloaded the latest version of the OpenJDK from jdk.java.net, and after extracting the files had to move everything in the Contents/Home/ directory to a subfolder Contents/Home/jre/, and then use the top-level jdk-11.jdk folder as the input for the -r flag. If I get a chance and brush up on Python, I may look into submitting this as a PR at some point, but in the interim this workaround seems fine and has allowed me to bundle what is effectively a Java 11 runtime in my application without any code-level changes to my project or to this script.

Additionally, if you are looking to shave ~120MB off the app size, delete the jmods and include directories from inside your new Contents/Home/jre/ directory, since those pieces don't appear necessary for a runtime. Also delete src.zip from the lib directory. It looks like most of the contents of bin would also go unused in a runtime situation, but at only 3MB I didn't bother trying to figure out what I needed to keep versus toss, and just kept them all.