有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

ubuntu 18.04 java版本显示为10,但安装了java 11

以前我默认安装了Java8。将java版本升级到11之后,它显示openjdk 10.0.2 2018-07-17

我从oracle站点下载了jdk-11.0.2_linux-x64_bin.deb,并安装了它。之后,我运行sudo update-alternatives --config java将版本更改为11,但在运行java --version命令后,我得到以下输出:

openjdk 10.0.2 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4, mixed mode)

javac --version的输出:

javac 10.0.2

共 (1) 个答案

  1. # 1 楼答案

    您正在混淆openjdk和oracle jdk。您已经安装了openjdk 11,因此它将您的版本显示为10(阅读Joachim Rohde建议的this答案)。您可以更新备选方案并重新配置:

    删除openjdk 11:

    sudo update-alternatives  remove "java" "/usr/lib/jvm/java-11-openjdk-amd64/bin/java"
    sudo update-alternatives  remove "java" "/usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java"
    
    sudo update-alternatives  remove "javac" "/usr/lib/jvm/java-11-openjdk-amd64/bin/javac"
    sudo update-alternatives  remove "javac" "/usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/javac"
    

    如果愿意,可以使用以下方法删除openjdk文件夹:

    sudo rm -r /usr/lib/jvm/java-11-openjdk-amd64/
    sudo rm -r /usr/lib/jvm/java-1.11.0-openjdk-amd64/
    

    更新备选方案安装oracle jdk:

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

    重新配置:

    sudo update-alternatives  config java
    sudo update-alternatives  config javac
    

    现在运行java version,您将得到输出java 11.0.2