On the afternoon of Wed Nov 7th PT, we will be switching the GlassFish workspaces to require JDK 7 to build. Before the switch, it is optional. After the switch it is required.
You need to install JDK 7 on your development machines and have it used by your builds:
Go, install it now. Use it for your builds now.
No for nucleus. Yes for appserver. Specifically:
|| OK to Use Java 7 Features?
|trunk/main/nucleus|| -source 1.6 -target 1.6
|trunk/main/appserver|| -source 1.7 -target 1.7
Your desktop build will catch if you use a Java 7 language feature (thanks to -source, -target). But it won't catch if you use an API new in Java 7. We will have a hudson job that builds with 1.6 that will catch Java 7 API use in -source 1.6 workspaces.
We know this is less than ideal, so we are working on a solution to catch the use of Java 7 API's when you build -- but doing that has turned out to be trickier than first thought.
We strongly recommend JDK 7u9 or newer due to security fixes, etc. (although 7u2 or newer will probably work).
Oracle now provides Java 7 downloads for the Mac. See Q2.
No, as far as we know you should not need to change your MAVEN_OPTS settings.
Java EE 7 requires support for Java SE 7. Plus moving to Java 7 is a long time coming.
That would impose a bigger inconvenience for the developer as they would need to maintain two different JDK's on their desktop to build.
Nucleus is consumed by some projects that require 1.6 support, therefore it needs to continue to support Java 6. At some point those requirements may be lifted, at which point we may remove the 1.6 requirement.