JDK 7 Switch FAQ

Skip to end of metadata
Go to start of metadata

Q1: What is happening?

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.

Q2: What does that mean to me?

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.

Q3: Will I still be able to build with JDK 6?

No

Q4: Will I be able to use Java SE 7 features and apis?

No for nucleus. Yes for appserver. Specifically:

Workspace
Source/Target
OK to Use Java 7 Features?
trunk/main/nucleus -source 1.6 -target 1.6
No
trunk/main/appserver -source 1.7 -target 1.7
Yes 

Q5: Will my build check if I use a Java 7 feature in the wrong workspace?

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.

Q6: What minimum version of JDK 7 do I need?

We strongly recommend JDK 7u9 or newer due to security fixes, etc. (although 7u2 or newer will probably work).

Q7: I'm on a Mac, what do I do?

 Oracle now provides Java 7 downloads for the Mac. See Q2.

Q8: Do I need to change MAVEN_OPTS or anything else?

No, as far as we know you should not need to change your MAVEN_OPTS settings.

Q9: Why are we doing this?

Java EE 7 requires support for Java SE 7. Plus moving to Java 7 is a long time coming.

Q10: Why can't the '-source 1.6' workspaces just continue to require JDK 1.6?

That would impose a bigger inconvenience for the developer as they would need to maintain two different JDK's on their desktop to build.

Q11: Why do some workspaces require '-source 1.6'

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.

Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

Sign up or Log in to add a comment or watch this page.


The individuals who post here are part of the extended Oracle community and they might not be employed or in any way formally affiliated with Oracle. The opinions expressed here are their own, are not necessarily reviewed in advance by anyone but the individual authors, and neither Oracle nor any other party necessarily agrees with them.