11

I decided to update my JDK7 to recent version from here.

Corresponding x64 tag.gz archive for my architecture has been downloaded and extracted to /usr/lib/jvm as usual. All previous versions of Java were installed before the same way. But before setting new alternatives for java, javac and javaws I removed all existing alternatives using the following commands:

sudo update-alternatives --remove-all java
sudo update-alternatives --remove-all javac
sudo update-alternatives --remove-all javaws

Now when trying to install new alternatives I get the following:

sudo update-alternatives --install /usr/lib/jvm/jdk1.7.0_13/bin/java java /usr/bin/java 1
update-alternatives: error: alternative path /usr/bin/java doesn't exist.

Of course, /usr/bin/java doesn't exist but /usr/bin does? What's wrong with it and how can I fix it?

1

3 Answers 3

9

It's my epic fault! :)

I mixed up the arguments of update-alternatives. The right command line must be:

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk/bin/java 1
3
  • I posted it as answer 'cause it solved the question. I don't know for sure whether I should delete the question (as it solved by myself in short time) or post the answer.
    – ezze
    Feb 12, 2013 at 12:52
  • Posting the answer is generally the right thing. Though, this problem is so localized, I'm not sure anyone will find it useful in the future. Who knows, I could be wrong. :) Feb 12, 2013 at 13:25
  • At any rate, next time you install/upgrade Java, I highly recommend using the webup8 java ppa (different link) -- It makes everything SO much easier (just make sure you purge your current installation first). Feb 12, 2013 at 13:27
2

Since you are updating from a previous Java version, which you have removed manually, you would have to execute the following command twice. You get an error message the first time and it works when you execute it the second time.

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk/bin/java" 1

Source: Easy Linux Project

1
  • Thanks for the anwser but the issue is that I mixed up update-alternatives's arguments. The right command works with the first attempt.
    – ezze
    Feb 12, 2013 at 12:49
-1

Oracle have made java installation very easy, and hope for the future as well. One can download latest debain from Oracle. Run the following commands to install:

1. sudo apt install ./jdk-17_linux-x64_bin.deb
2. sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-17/bin/java 2

Note:- Run command 1 where .deb file is stored, jdk version might be different. Similarly for command 2, use tab, while typing the command, for second argument i.e. /usr/lib/jvm/jdk- then type downloaded version, in my case it is 17.

If an older version of java (<17) is already installed then visit Linux Up Rising and run the following commands:

1. sudo add-apt-repository ppa:linuxuprising/java
2. sudo apt update

3. sudo -i

4. echo "deb http://ppa.launchpad.net/linuxuprising/java/ubuntu focal main" | tee /etc/apt/sources.list.d/linuxuprising-java.list

5. apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 73C3DB2A

6. apt-get update
7. exit

8. sudo apt install oracle-java17-installer --install-recommends
9. java -version

Output:
java version "17.0.1" 2021-10-19 LTS
Java(TM) SE Runtime Environment (build 17.0.1+12-LTS-39)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.1+12-LTS-39, mixed mode, sharing)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .