I have a problem with my compiled Java application on Ubuntu. It throws UnsupportedClassVersionError
.
I am compiling with a higher JDK version than the one that is configured in my PATH to run Java:
$ javac -version
javac 1.7.0_147
$ java -version
java version "1.6.0_23"
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-0ubuntu1.11.10.2)
OpenJDK Client VM (build 20.0-b11, mixed mode, sharing)
How can I resolve this?
It means that javac.exe executable file, which exists in bin directory of JDK installation folder is not added to PATH environment variable. You need to add JAVA_HOME/bin folder in your machine's PATH to solve this error. You cannot compile and run Java program until your add Java into your system's PATH variable.
The javac command is used to compile Java programs, it takes . java file as input and produces bytecode. Following is the syntax of this command. The java command is used to execute the bytecode of java.
To switch between installed java versions, use the update-java-alternatives command. ... where /path/to/java/version is one of those listed by the previous command (e.g. /usr/lib/jvm/java-7-openjdk-amd64 ).
Type following command in terminal :
sudo update-alternatives --config java
It will ask you for:
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
0 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 auto mode
1 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 manual mode
2 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1051 manual mode
Press enter to keep the current choice[*], or type selection number:
I enter 2 as I want to use java 1.7.0_21
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With