WebSphere 6 Error: Unsupported major.minor version 49.0

I was trying to test a web application in WebSphere 6 when I encountered this error:

Error 500: java.lang.LinkageError: LinkageError while defining class: aiu.webservices.bean.ConfigServiceProxy Could not be defined due to: aiu/webservices/bean/ConfigServiceProxy (Unsupported major.minor version 49.0) This is often caused by having a class defined at multiple locations within the classloader hierarchy. Other potential causes include compiling against an older or newer version of the class that has an incompatible method signature.

After a little bit of puzzling and googling, the problem turned out to be that I have been compiling using JDK 1.4. while the WebSphere VM only has Java 1.4. The solution was to Project->Properties->Java Compiler->Compiler Compliance Level to 1.4. And Project->Properties->Java Build Path->Libraries->JRE System Library->Alternate JRE to 1.4.

I exported to WAR, updated the application via WebSphere console, and it worked! couldn’t believe it was that simple :P