The OCMJD certification is one of the few which is java version independent. So for OCMJD 6 you can use JDK 7 and use all the language features (try-with-resources, underscores in numbers, diamond syntax,...) without any problem.
If the OCMJD is Java Version independent, then why is the current certificate called OCMJD 6 at all?! This is rather confusing. Also, the books say you'd have to develop with a Java version that was not superseded by 18 month by a newer version - which for Java 6 is the case, Java 7 was published in July 2011, as I've seen. So in other words, we are forced to do the SCJD in Java 7, and then the certificate for potential employers
claims we had done in with Java 6 only?! Is it enough to just compile with Java 7 (and maybe to use some minor but usefull features like the new catch clause catching several exceptions at once,
or would they force you, to, for example, use the try-with-resources, a feature I really hate, as it doesn't give you the flexibility when and how to close your resources yourself - imho
this is a feature that was introduced for the lazy ones of us... ;-)
Okay, in short:
1. When will there be a OCMJD 7?
2. When doing the OCMJD 6, is it obligatory to use Java 7?
3. When using Java 6 or 7, is it enough to just compile with the new version, or do you have to use a BIG amount of the new version's features?
(4. YADA YADA YADA Isn't it lame that Oracle now forces people to do one of their lame courses, just to get MORE money out of you? There is a 2 days online training from Oracle, and they told me, just
paying and opening the online session without physically attending the course at all, was enough to pass it....grrr )
1. Only Oracle knows
2. Not only the book says you have to develop the assignment in a Java version that's not superseded by 18 months by a newer version, it's also in the instructions of your assignment as a must requirement. Violating a must requirement is automatic failure.
3. If you'll decide not to use any Java 7 features, you definitely won't fail. The worst thing that might happen, is losing some points (because you didn't show that you know all language features of the JDK you are using)
4. The (expensive) mandatory course requirement has a serious impact on the popularity of this certification. In the Sun(ny) days there was a lot more activity on this forum.
About using Java 7's features is up to you. However using Java 7 as the JDK (meeting that java version supersede thing) is another issue.
Back to the features. If you don't use any 7 features, your app will surely backward compatible with Java 6 or even 5. Stating such tradeoffs is documented in the choices.txt file. Using the new features may make life easier so it's your call.