Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to check Oracle Java version if multiple versions of Java installed on Ubuntu

Tags:

java

bash

ubuntu

I have both OpenJDK and Oracle Java installed on my Ubuntu. If the activated java is OpenJDK, is there a way to check the version of Oracle java in bash shell?

like image 732
user1558064 Avatar asked Sep 25 '14 16:09

user1558064


People also ask

How can I tell if multiple versions of java are installed?

Open Command Prompt by pressing Start Key + R. Type cmd and press Enter. Type "java -version" and press Enter. You will see which version of Java is currently on the path.

Can we install multiple java versions in Ubuntu?

One way to achieve this is to install multiple Java versions and configure different Java versions manually. In that case, you have to modify a few environment variables when you need to switch your Java version. The other elegant and convenient way is to use the SDKMAN.

How do I know if I have Oracle java installed?

Going to a command line and typing java -version can tell us for sure if Java is installed.


2 Answers

update-java-alternatives -l will list all the java versions installed via the alternatives system.

For instance on one of my systems it will display the version and the path:

java-1.6.0-openjdk-amd64 1061 /usr/lib/jvm/java-1.6.0-openjdk-amd64
java-7-oracle 1069 /usr/lib/jvm/java-7-oracle

If you want the oracle one then I guess you could do:

update-java-alternatives -l | grep oracle | awk '{ print $1 }'

This would alternatively find all oracle versions and issue the -version command against each one in the list:

update-java-alternatives -l | grep oracle | awk '{system($3"/bin/java -version")}'

Output may look something like this:

java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

One step further would be to parse out the java version from the -version command and simply display it:

(update-java-alternatives -l | grep oracle | awk '{system(""$3"/bin/java -version 2>&1 | grep \"java version\"")}') | awk -F\" '{print $2}'

The 2>&1 is needed because Java will display version to standard error. The output would simply look like this (and could be easily assigned to a bash variable if you needed it that way):

1.7.0_67

If you had multiple oracle instances this would display the version for each one. If you wanted to find all the versions for every Java you could simply remove the | grep oracle

like image 139
Michael Petch Avatar answered Sep 21 '22 17:09

Michael Petch


If you are using the openjdk java, then the oracle Java in your PC is just a folder. There is no command to check the version of that if you are not using it.

If you once used oracle java then it must be in your java alternatives and you can find the folder (usually with version in name) with:

update-alternatives --config java

If it says something like /usr/lib/jvm/jdk1.8.0_05/bin/java, then you have 1.8 in your pc.

If you haven't used oracle java anytime you simply have to check what you have downloaded.

If you want to simply see the version you are using:

java -version

Hope it helps

like image 41
Cesar Villasana Avatar answered Sep 17 '22 17:09

Cesar Villasana