I am not sure why "which java" and "whereis java" paths are not correct. I tried to edit ~/.bash_profile and /etc/environment but did not help. The desired path is what is seen in "echo $JAVA_HOME" below but the same is not reflected in "which java"
Below is what I get in CentOS 6.4:
which java
/usr/bin/java
java -version
java version "1.7.0_45"
JAVA(TM) SE Runtime Environment (build 1.7.0_45-b18)
JAVA HotSpot (TM) 64-bit Server VM (build 24.45-b08, mixed mode)
whereis java
java: /usr/bin/java /etc/java /usr/lib/java /usr/share/java
echo $JAVA_HOME
/usr/java/jdk1.7.0_45/jre => desired shows correct when echo $JAVA_HOME
Best Answer
Run
alternatives --config java
to pick the Java version you want to use as default. It will print out a list of installed Javas to choose from.which java
, however, will always print out/usr/bin/java
. This doesn't mean it's set wrong! Observe:If you use
alternatives
to change the path to IcedTea,ls -l /etc/alternatives/java
will reflect that.