Java 7 for Mac OSX
richard.bair at oracle.com
Tue Feb 21 14:08:36 PST 2012
>> Having the appropriate JRE installed for users to run my Java software, is also a big deal for me. If we really do need to ship the "appropriate" JRE with every application, then it seems like we need to turn the whole compilation process upside down, and remove the JIT, and just have a complete native application built, instead of a jar. All of the dynamic binding properties of Java, allow me, as a developer, to let you guys, the providers of Java, fix your issues, independent of me.
> That is an extreme oversimplification of the facts of real software development.
> When it comes time for you to test your app, you only test against the version of Java you have, not future ones that don't exist yet. For your app's behavior to remain stable, the platforms it rests upon must be stable as well. Bundling your own JRE is the _only_ way to ensure that stability, and enable your app to be deployed as simply and as widely as possible on the Mac. This is also true on other platforms, but since deployment other platform is not as simple as dropping a single bundle onto the filesystem, this fact is shrouded by installers, scripts, registries, and other voodoo end users don't understand.
I completely agree with Mike on this. A *huge* (I would say, central) reason why Java deployment is chronically struggling is related to installed JREs and incompatibilities from one release to the next. In addition, every single time we fix a bug with a semantic side effect, somebody out there is going to be broken. As an application developer, I would never, ever, release software without tying it to exactly a specific version of the JRE. I would never rely on Java being preinstalled, in any circumstance. It is guaranteed to break at some unspecified time in the future.
More information about the macosx-port-dev