I am a new user for linux. I just installed jdk1.7.0_02.rpm and tried to compile my program using javac tester.java
When i try to run the file by java tester
i get these errors
Exception in thread "main" java.lang.UnsupportedClassVersionError: tester : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: tester. Program will exit.
Then i checked the java -version and it was :
java version "1.6.0_22"
OpenJDK Runtime Environment (IcedTea6 1.10.4) (fedora-61.1.10.4.fc16-i386)
OpenJDK Server VM (build 20.0-b11, mixed mode)
Now how do i change this version ? I even installed jre1.7.0_02 but nothing changed !
This is what is happening :
Use the cross-compilation options of javac
. Specify a -source
and -target
version and follow the prompts re other options.
Then please tell how?
javac -source 1.6 -target 1.6 -bootclasspath /path/to/1.6/j2se/rt.jar *.java
If you specify source
/target
, the 1.7 compiler will warn to use the -bootclasspath
option, which is important to verify that the classes, methods and attributes referenced in the source are available in the target Jar. Earlier versions of the compiler failed to warn about the bootclasspath
.