Thursday, August 12, 2010

java.lang.UnsupportedClassVersionError

I had my workstation reconfigured.. I installed Java along with a bunch of programs. I tried to run a Hello World program just make sure java was working as expected. I ran into this error

Exception in thread "main" java.lang.UnsupportedClassVersionError: HelloWorld (Unsupported major.minor version 50.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)

It was obvious to me that javac version was different than that of java.
To verify, I ran "javac -version" and "java -version. I was right, javac version i had was 1.6 and the jre version showed 1.3..!!! I was surprised..!

I quickly did a "which java" .. It pointed out to a jre that was used by an Oracle installation .. I removed the Oracle installation from Program Files and the Environment Settings too. Alternatively you can just change the Env settings ( PATH variable).

I again ran my Hello World...I was happy to see My Program say Hello To the Whole World again..!! :D

No comments: