Java on Mac OS X has been an enormous headache.
Apple first made it clear they were turning Java releases over to Oracle, who provided only Java 7 and the AppBundler Ant task to package jars (and natives).
Oh, and Apple began insisting that App Store submissions use the AppBundler feature that copies the entire JRE - over 60mb. Yikes! So nothing to do but grind teeth and join the bloatware bandwagon...
Magically there is now a JRE 6 for Mavericks (published October 2013, but we weren't paying attention because Apple said their Java support was over). The packaging tool for JRE 6 is the old JarBundler Ant Task, which does not support copying the JRE into the bundle.
So here is the question: How to meet the new App Store standard of packaging the JRE with the app when the JRE 6-compatible bundling tool won't do it?
NB: JarBundler uses an Apple binary JavaApplicationStub
to invoke the JVM. Having the stub look for the JVM inside the app bundle may be impossible? I cannot find any documentation on this.
FWIW, I need JRE 6 not just for the smaller footprint (about half the size), but also because JOGL (OpenGL Java binding) works great under 6 and is unusable under 7. Oracle diddled with the Swing innards in ways the JOGL guys (who are great by the way) haven't yet (after over a year) fully worked out.