I have a RHEL 7 server. Installed java version is jdk1.8.0_151
# ls -l /usr/java total 0 drwxr-xr-x. 8 root root 255 Apr 24 14:10 jdk1.8.0_151
I set JAVA_HOME
location and added bin
directory to PATH
variable in /etc/profile
# grep JAVA_HOME /etc/profile export JAVA_HOME="/usr/java/jdk1.8.0_151/" export PATH=$JAVA_HOME/bin:$PATH
Still java -version
shows false information and echo $JAVA_HOME
shows no output.
# java -version openjdk version "1.8.0_242" OpenJDK Runtime Environment (build 1.8.0_242-b08) OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode) # # echo $JAVA_HOME #
How can I resolve this?
Update
When executed the following commands java -version
and echo $JAVA_HOME
works for the user igwuser
, but doesn't work when logged in as root.
export PATH=/usr/java/jdk1.8.0_151/bin:$PATH export JAVA_HOME="/usr/java/jdk1.8.0_151/"
When logged in as root
,
[igwuser@dep4 ~]$ sudo su [root@dep4 igwuser]# java -version bash: java: command not found... [root@dep4 igwuser]# echo $JAVA_HOME [root@dep4 igwuser]#
Why it doesn't work when logged in as root?
Update 2
PATH
variable resets when I log in and logout. That should be the issue.
[root@dep4 igwuser]# echo $PATH /sbin:/bin:/usr/sbin:/usr/bin [root@dep4 igwuser]# [root@dep4 igwuser]# [root@dep4 igwuser]# export PATH=/usr/java/jdk1.8.0_151/bin:$PATH [root@dep4 igwuser]# echo $PATH /usr/java/jdk1.8.0_151/bin:/sbin:/bin:/usr/sbin:/usr/bin [root@dep4 igwuser]# [root@dep4 igwuser]# exit exit [igwuser@dep4 ~]$ sudo su [root@dep4 igwuser]# echo $PATH /sbin:/bin:/usr/sbin:/usr/bin [root@dep4 igwuser]#
which java
(andtype java
if you use bash)? Did you check that there is actually ajava
executable in/usr/java/jdk1.8.0_151/bin
?which java
=/bin/java
,type java
=java is /bin/java
,/usr/java/jdk1.8.0_151/bin/java -version
=java version "1.8.0_151" Java(TM) SE Runtime Environment (build 1.8.0_151-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
echo $PATH
?