34

In Oracle Enterprise Linux when I type java I am getting

bash: java: command not found

I have installed Java 1.6 and I have the following

sudo update-alternatives --config java

There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*  1           /usr/lib/jvm/jre-1.4.2-gcj/bin/java
 + 2           /usr/java/jre1.6.0_24/bin/java

How can I resolve this issue?

Thanks

Jacob
  • 14,463
  • 65
  • 207
  • 320
  • when you ran update-alternatives --config java, did you select 2? what happened after you select 2 , then ran java command? do you still get the error, java: command not found ? – Jasonw Jun 28 '12 at 04:10
  • @Jasonw I did select 2 by typing 2 and after that I am still getting `java: command not found` – Jacob Jun 28 '12 at 04:13
  • 1
    if you do ls -l /etc/alternatives/java, it should symlink to /usr/java/jre1.6.0_24/bin/java . Then you need to check which java is called, `which java` and the path given (e.g. /usr/bin/java) , it should symlink to /etc/alternatives/java – Jasonw Jun 28 '12 at 04:38
  • @Jasonw I have resolved the issue by the below mentioned solution by devsundar. Thanks anyway. – Jacob Jun 28 '12 at 05:34
  • 1
    yes, that configuration is per user basis. The one with alternative is applicable to system wide. But if you are happy with the solution, that's great! :) – Jasonw Jun 28 '12 at 05:49

6 Answers6

61

You can add one of the Java path to PATH variable using the following command.

export PATH=$PATH:/usr/java/jre1.6.0_24/bin/

You can add this line to .bashrc file in your home directory. Adding this to .bashrc will ensure everytime you open bash it will be PATH variable is updated.

18bytes
  • 5,951
  • 7
  • 42
  • 69
3

I had these choices:

-----------------------------------------------
*  1           /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
 + 2           /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
   3           /home/ec2-user/local/java/jre1.7.0_25/bin/java

When I chose 3, it didn't work. When I chose 2, it did work.

Ben
  • 51,770
  • 36
  • 127
  • 149
Marc Nunes
  • 31
  • 2
  • 6
    Hi and welcome to Stack Overflow, this site isn't a forum, it's a question and answer site and your other answer is a question. Please don't do this, thanks! – Ben Jun 23 '13 at 15:55
3

I found the best way for me was to download unzip then symlink your new usr/java/jre-version/bin/java to your main bin as java.

Plentybinary
  • 181
  • 8
3

I use the following script to update the default alternative after install jdk.

#!/bin/bash
export JAVA_BIN_DIR=/usr/java/default/bin # replace with your installed directory
cd ${JAVA_BIN_DIR}
a=(java javac javadoc javah javap javaws)
for exe in ${a[@]}; do
    sudo update-alternatives --install "/usr/bin/${exe}" "${exe}" "${JAVA_BIN_DIR}/${exe}" 1
    sudo update-alternatives --set ${exe} ${JAVA_BIN_DIR}/${exe}
done
alijandro
  • 11,627
  • 2
  • 58
  • 74
1
  1. Execute: vi ~/.bashrc OR vi ~/.bash_profile

(if above command will not allow to update the .bashrc file then you can open this file in notepad by writing command at terminal i.e. "leafpad ~/.bashrc")

  1. add line : export JAVA_HOME=/usr/java/jre1.6.0_24
  2. save the file (by using shift + Z + Z)
  3. source ~/.bashrc OR source ~/.bash_profile
  4. Execute : echo $JAVA_HOME (Output should print the path)
Shree
  • 203
  • 3
  • 22
0

I was having the same problem on my ec2 machine. Below these 2 commands helped me to fix the issue.

sudo yum update

sudo yum install java-11-amazon-corretto

Maninder
  • 1,539
  • 1
  • 10
  • 12