I've installed jdk1.7.0.rpm
package in RHEL6.
Where I do find the path to execute my first java program?

- 113

- 769
-
2Possible duplicate of 18472 – sakisk Sep 29 '11 at 09:31
-
2Hi, Mohammad. It's not a stupid question, but one that has been answered in several places already - like this or this question. – rozcietrzewiacz Sep 29 '11 at 09:40
-
1Just an PS: on MacOS, Java is usually installed at '/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home', where the version number could be different. – Daniel Wang Jan 19 '15 at 19:05
4 Answers
Try either of the two:
$ which java
$ whereis java
For your first java program read this tutorial:

- 989
-
1Note these commands give different results. If you are interested in the non-symlink path use whereis java. – P.Brian.Mackey May 18 '17 at 01:50
-
3I don't really think this answers the question. The
java
binary gets installed with the JRE, but if you're doing development you need JDK, which isn't necessarily installed inwhich java
(which in my case is /usr/bin). – Tim S. Jun 21 '17 at 13:15 -
1
type java
is a more cross-platform method, as it's built into every major posix shell. – Jan 28 '20 at 18:13
On RHEL7, you can use locate
:
locate openjdk
or find
:
find / -iname "*openjdk-*"
and it led me to the /usr/lib/jvm/
directory which contained the directories:
java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/
jre/
jre-1.8.0/
jre-1.8.0-openjdk/
jre-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/
jre-openjdk/
Each of these contain a bin/java
To find the full path of the symbolic link use:
readlink -f $(which java)
*Credit: Answer on Stack Overflow

- 3,131

- 411
-
This gave me mostly JDK6 even though
java -version
gave me 1.8. There was one link to the JDK8 folder near the top. – Noumenon Sep 19 '18 at 02:35 -
1Thank you. The
readlink -f $(which java)
was exactly what I was looking for. – BugSquanch Nov 25 '21 at 14:23
You can list the installed files with
rpm -ql packagename
You will see somewhere a bin
directory with java executable
But if the JDK RPM was correctly installed you should already find java
in you path.
Try
javac MyFirstJavaClass.java
and if everything compiles
java MyFirstClass
(If you didn't change anything the current directory .
should already be in your class path)

- 9,796
- 4
- 51
- 66
Since this question is RPM specific, rpm
is the way to get started (as answered by @Matteo).
rpm flags
-q is short for --query
-l is short for --list
Example
rpm -ql jdk1.8.0_20 | grep "jdk1.8.0_20/bin$"
/usr/java/jdk1.8.0_20/bin
Knowing this may be desirable for setting a user or application's $JAVA_HOME
variable. This is often needed when a system has multiple versions of java installed, or multiple distributions of java installed, such as OpenJDK and Oracle/Sun.
$JAVA_HOME
Example
In the ~/.bash_profile
, or related file (.bashrc
, .zshrc
, .cshrc
, setenv.sh
), something similar to the below may be used.
JAVA_HOME='/usr/java/jdk1.8.0_20'
export JAVA_HOME
PATH="$JAVA_HOME/bin:$PATH"
export PATH
If you would like more control over where Java gets installed, such as in /opt
, then the tarball can be used instead of the RPM file.
Other similar questions, are asking about how to find any binary or file, in the general case.
-
In general, I highly recommend using the mlocate package for finding things on a Red Hat based Linux's file system. – Kevin Jan 24 '17 at 18:38