Java 7 for Mac OSX

Mike Swingler swingler at
Wed Feb 22 11:14:26 PST 2012

On Feb 22, 2012, at 10:50 AM, Scott Kovatch wrote:

> On Feb 22, 2012, at 9:55 AM, Johannes Schindelin wrote:
>> Hi,
>> On Tue, 21 Feb 2012, Gregg Wonderly wrote:
>>> [... explains how few problems with compatibility he had over the
>>> years...]
>> Me, too, I had few problems. The only compatibility issue I regularly
>> encounter is the problem with the different path and directory separators
>> on Windows (I frequently fix my and other people's code in that respect).
>> It is really unfortunate, but a truth in this life, that you only hear
>> back from users when things break.
>> So let me use this opportunity to thank all the Java developers reading
>> this: thank you for making it possible to ship just .jar files and having
>> things Just Work with a single, well-maintained, system-wide JRE.
> This will continue to work with Java 7, but not in the 7u4 timeframe. For 7u6 we plan to release a Java runtime for end users that will support Java applets, Java Web Start, and double-clickable JAR files. Users will not be required to install a full JDK to run Java applications.
> Note that with 7u4 you will still be able to execute 'java -jar <jarfile>' from a Terminal window and it will just work, but double-clicking it from the Finder will use Apple's Java 6.

Actually: double-clicking from the Finder does what /usr/bin/java -jar <jarfile> does - it picks the highest JVM specified in Java Preferences. Today.

We are considering for the future, that we'll re-direct double-click jars to the JRE inside of the Oracle Java applet plug-in, if it's present. This raises a minor concern that this will only be a JRE and not a full JDK, but I'm not particularly concerned about that, since you'll encounter the exact same issue on any other platform that supports double-click .jars. If the Oracle applet plug-in is not installed, we fall back to the /usr/bin path.

As for the /usr/bin Java tools on the command line, we'll get rid of the Java Preferences UI entirely, and always delegate to the highest installed .jdk bundle inside of /Library/Java/JavaVirtualMachines. You will still be able to query for multiple installed versions with /usr/libexec/java_home (just as you can do today).

Any thoughts / opinions / concerns about this plan?
Mike Swingler
Apple Inc.

More information about the macosx-port-dev mailing list