I have the latest version of Java installed on my system.

  • But I wonder why when I run any program, the location from where java executes is /usr/java/latest/bin/java instead of /usr/bin/java.

    [prompt ~]$ which java
    [prompt ~]$ ls -l /usr/bin/java
    lrwxrwxrwx 1 root root 22 Jul 23 15:13 /usr/bin/java -> /etc/alternatives/java
    [prompt ~]$ ps -ef | grep tomcat
    www      11279     1  0 Jul23 ?        00:02:12 /usr/java/latest/bin/java -D...

Is there a way that I can set where java should execute from?

  • (In my case, I want it to execute from /usr/bin/java)

To my surprise, even though my environment profile files did not have any setting of JAVA_HOME, it was pointing to /usr/java/latest:

[prompt ~]$ echo $JAVA_HOME
[prompt ~]$ printenv | grep JAVA_HOME

No wonder why it was actually executing java from /usr/java/latest directory.

All I did was remove the entry in environment variables and the issue was fixed, java began executing from /usr/bin/java.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.