Wednesday, August 02, 2006

Let the pain slip away

Seeing as how I seem to be in such a blog-tastic mood....the debug team has provided another fix to try and lower the overall frustration of level of at least a few people.

Have you ever been nailed by the "java.lang.UnsupportedClassVersionError: foo (Unsupported major.minor version 49.0)" error? If you have this applies to you.

In an effort to make life a little less painful, we now do compliance checking in the JRE preference page and in the launch configuration dialog. So if you change your default JRE to be lower than the compiler compliance level you get a nice warning and a link back to the compiler page to change the compliance level.

Alternatively in the launch configuration dialog compliance issues are treated as errors (since you can't launch anyway) and you see the nice angry error message.

Just like the previous breakpoint axesomeness, you will have to wait until tomorrows build to try it out...


  1. Unfortunately this feature is a big problem for me. I have a JRE that supports many 1.5 features and therefore needs to compile at 1.5, but is an incomplete implementation at 1.5 so is advertising at a lower compliance level. This means that with Europa I can unfortunately no longer launch anything. This was not an issue under 3.2.

    Is there any way to override this? Unfortunately this is a total block preventing me from moving to 3.3, so any assistance would be much appreciated!!!

  2. This feature is based solely on what your workbench/project source level is set at compared to what JRE you are trying to select. It should not prevent you from launching anything....

    No unfortunately there is no way to 'turn it off', since you cannot run source level 6.0 code on a 1.4 VM (for example). This feature alleviates that nonsensical error message about major and minor verison not being correct when trying to launch.