openjdk-8 安装不正确

我不小心安装了openjdk-9-jre-headless,但实际上我想要的是openjdk-8-jre-headless
sudo apt install openjdk-9-jre-headless

当我意识到时,我就这样做了。
sudo apt remove --purge openjdk-9-jre-headless
sudo apt install openjdk-8-jre-headless

现在我这里有一个奇怪的情况:
~$ java --version

The program 'java' can be found in the following packages:
 * default-jre
 * gcj-5-jre-headless
 * openjdk-8-jre-headless
 * gcj-4.8-jre-headless
 * gcj-4.9-jre-headless
 * openjdk-9-jre-headless
Try: sudo apt install <selected package>

但是:
~$ sudo apt install openjdk-8-jre-headless

Reading package lists... Done
Building dependency tree
Reading state information... Done
openjdk-8-jre-headless is already the newest version (8u131-b11-2ubuntu1.16.04.3).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

我在这里要做什么?

编辑:

我已经尝试过了。

~$ sudo apt install openjdk-8-jre-headless --reinstall

Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 0 B/27.0 MB of archives.
After this operation, 0 B of additional disk space will be used.
(Reading database ... 160472 files and directories currently installed.)
Preparing to unpack .../openjdk-8-jre-headless_8u131-b11-2ubuntu1.16.04.3_amd64.deb ...
Unpacking openjdk-8-jre-headless:amd64 (8u131-b11-2ubuntu1.16.04.3) over (8u131-b11-2ubuntu1.16.04.3) ...
Setting up openjdk-8-jre-headless:amd64 (8u131-b11-2ubuntu1.16.04.3) ...
update-alternatives: warning: alternative /usr/lib/jvm/java-9-openjdk-amd64/bin/java (part of link group java) doesn't exist; removing from list of alternatives
update-alternatives: warning: alternative /usr/lib/jvm/java-9-openjdk-amd64/bin/java (part of link group java) doesn't exist; removing from list of alternatives
update-alternatives: warning: alternative /usr/lib/jvm/java-9-openjdk-amd64/bin/java (part of link group java) doesn't exist; removing from list of alternatives
update-alternatives: warning: alternative /usr/lib/jvm/java-9-openjdk-amd64/bin/java (part of link group java) doesn't exist; removing from list of alternatives
update-alternatives: warning: alternative /usr/lib/jvm/java-9-openjdk-amd64/bin/java (part of link group java) doesn't exist; removing from list of alternatives
update-alternatives: warning: alternative /usr/lib/jvm/java-9-openjdk-amd64/bin/java (part of link group java) doesn't exist; removing from list of alternatives
update-alternatives: warning: alternative /usr/lib/jvm/java-9-openjdk-amd64/bin/java (part of link group java) doesn't exist; removing from list of alternatives
update-alternatives: warning: alternative /usr/lib/jvm/java-9-openjdk-amd64/bin/java (part of link group java) doesn't exist; removing from list of alternatives
update-alternatives: warning: alternative /usr/lib/jvm/java-9-openjdk-amd64/bin/java (part of link group java) doesn't exist; removing from list of alternatives
update-alternatives: warning: alternative /usr/lib/jvm/java-9-openjdk-amd64/bin/java (part of link group java) doesn't exist; removing from list of alternatives
2个回答

好的,我想通了:
sudo apt remove --purge openjdk-8-jre-headless
sudo apt autoremove
sudo apt install --reinstall openjdk-8-jre-headless

现在我得到了预期的结果
~$  java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.16.04.3-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)

OP通过先移除Java8然后重新安装来解决了这个问题。然而,并不总是可行的,如果您已经有Java依赖项,例如正在运行的Apache服务器或其他需要Java运行时的东西。在这种情况下,首先移除Java9,然后通过直接运行update-alternatives来执行以下操作:
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/java-1.8.0-openjdk-amd64/bin/java" 1

如有需要,请将路径修改为Java8。