【问题标题】:How to install JDK 10 under Ubuntu?如何在 Ubuntu 下安装 JDK 10?
【发布时间】:2018-09-05 12:35:24
【问题描述】:

如何在 Ubuntu 上安装 Java Development Kit (JDK) 10?

Oracle 帮助中心的installation instructions 仅说明如何在 Linux 平台上下载和解压存档,无需任何系统设置。

【问题讨论】:

标签: java ubuntu java-10


【解决方案1】:

更新:JDK 11 现已推出

sudo apt-get install openjdk-11-jdk

对于 JDK 10

选项 1:简易安装 (PPA)

sudo add-apt-repository ppa:linuxuprising/java
sudo apt-get update
sudo apt-get install oracle-java10-installer

然后设置为默认值:

sudo apt-get install oracle-java10-set-default

最后验证安装:

$ java -version
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)

来源:Linux Uprising

选项 2:手动安装

  • 为 Linux 下载 OpenJDK 10 二进制文件。

  • 解压下载的存档:

    tar xzvf openjdk-10_linux-x64_bin.tar.gz
    
  • 将提取的存档移动到系统保存已安装 JDK 的位置:

    sudo mv jdk-10 /usr/lib/jvm/java-10-openjdk-amd64/
    
  • 添加新的 Java 替代方案:

    sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-10-openjdk-amd64/bin/java 1
    sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-10-openjdk-amd64/bin/javac 1
    
  • 更新系统的 java 替代品并选择 JDK 10:

    $ sudo update-alternatives --config java
    here are 3 choices for the alternative java (providing /usr/bin/java).
    
      Selection    Path                                            Priority   Status
    ------------------------------------------------------------
      0            /usr/lib/jvm/java-9-openjdk-amd64/bin/java       1091      auto mode
    * 1            /usr/lib/jvm/java-10-openjdk-amd64/bin/java      1         manual mode
      2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
      3            /usr/lib/jvm/java-9-openjdk-amd64/bin/java       1091      manual mode
    
    Press <enter> to keep the current choice[*], or type selection number: 
    

    $ sudo update-alternatives --config javac
    There are 3 choices for the alternative javac (providing /usr/bin/javac).
    
      Selection    Path                                          Priority   Status
    ------------------------------------------------------------
    * 0            /usr/lib/jvm/java-9-openjdk-amd64/bin/javac    1091      auto mode
      1            /usr/lib/jvm/java-10-openjdk-amd64/bin/javac   1         manual mode
      2            /usr/lib/jvm/java-8-openjdk-amd64/bin/javac    1081      manual mode
      3            /usr/lib/jvm/java-9-openjdk-amd64/bin/javac    1091      manual mode
    
    Press <enter> to keep the current choice[*], or type selection number: 1
    update-alternatives: using /usr/lib/jvm/java-10-openjdk-amd64/bin/javac to provide /usr/bin/javac (javac) in manual mode
    
  • 验证您的安装:

    $ java --version
    openjdk 10 2018-03-20
    OpenJDK Runtime Environment 18.3 (build 10+46)
    OpenJDK 64-Bit Server VM 18.3 (build 10+46, mixed mode)
    

    $ javac --version
    javac 10
    
  • 完成


如果您更喜欢 Oracle 的 JDK,download it 并按照上图所示的安装步骤进行操作。

【讨论】:

  • 最好不要使用与官方包可能最终使用的完全相同的目录名,以免覆盖文件。
  • @DmitriyDumanskiy WebUpd8 team 准备了 JDK 8/9 PPA,因此他们可能会为 JDK 10 发布一个。不过,我不知道他们何时或是否会发布它。您可能会发现由不起眼的发布者发布的 JDK 10 PPA 存储库,由于涉及的潜在安全风险,它们不应该被信任。
  • 不要忘记sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/java-10-openjdk-amd64/bin/jar 1jar 命令!
  • Ubuntu 包 openjdk-11-jdk 包含 java 10.0.2 :)
  • 还请注意,由于某种原因,您不能在 Ubuntu 18.10 上使用 jdk 10 的 ppa。 Package 'oracle-java10-installer' has no installation candidate
【解决方案2】:

我发现SdkMan! 是一个非常有用的工具,因为它提供了一种从 shell 管理 JDK 的便捷方式。

例如,一旦是installed,您可以:

Install 特定 JDK 版本:sdk install java 10.0.2-open

Downloading: java 10.0.2-open

In progress...

#################                             12,3%

Use 特定 JDK 版本:sdk use java 10.0.2-open

Using java version 10.0.2-open in this shell.

List 可用的 JDK:sdk list java

===================================================================
Available Java Versions
===================================================================                                                        
     9.0.4-open                                                                    
   + 8u161-oracle                                                                  
     8.0.191-oracle                                                               
 > + 8.0.171-oracle                                                                
     7.0.191-zulu                                                                 
     12.ea.15-open                                                                 
     11.0.1-open                                                                  
     10.0.2-open                                                                   
     1.0.0-rc8-graal                                                              

===================================================================
+ - local version
* - installed
> - currently in use
=======================================================================

还有更多

https://sdkman.io/usage

【讨论】:

    【解决方案3】:

    java 10上有一个ppa安装oracle的java:https://launchpad.net/~linuxuprising/+archive/ubuntu/java

    我不确定这是否会保留。 它似乎是关于如何处理 oracle java 安装的 webupd8 方式的副本(参考:documentation)。

    如何使用这个 ppa:

    sudo add-apt-repository ppa:linuxuprising/java
    sudo apt-get update
    sudo apt-get install oracle-java10-installer
    

    验证安装:

    $ /usr/lib/jvm/java-10-oracle/bin/java -version
    java version "10.0.1" 2018-04-17
    Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
    Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)
    

    设置环境变量(使 java10 默认)

    sudo apt-get install oracle-java10-set-default
    

    【讨论】:

    【解决方案4】:

    注意只有当你有多个 java 版本时,你才需要update-alternatives

    注意:您可以在全新安装新 Java 之前清除所有关于 Java 的内容。

     sudo apt purge java*
    

    对于 Java 10 全新安装

    1. 从这里下载 JDK 10(您可以下载 JRE 和服务器 JRE):http://www.oracle.com/technetwork/java/javase/downloads/index.html

    2. 提取并放在/opt/java 目录中的某个位置。您将 JDK 放在 /opt/java 目录中,使其对所有用户都可用,因为它位于公共 /opt 目录中。

      (注意:我下载了JDK、JRE、服务器JRE,解压JDK重命名解压文件夹为jdk10,解压JRE重命名解压文件夹为jre10,解压服务器JRE重命名将文件夹解压缩到 jre10server,如下图所示)。

    3. 更新您的/etc/environment 文件如下

    现在,您需要使用下面的 source 命令将/etc/environment 脚本文件重新加载到系统中。

    source /etc/environment
    

    如果您想了解更多关于 update-alternatives 的信息,请点击以下链接:https://askubuntu.com/questions/159575/how-do-i-make-java-default-to-a-manually-installed-jre-jdk

    【讨论】:

      【解决方案5】:

      您需要在最后一步之前执行 update-alternatives --install。

      sudo update-alternatives --install "/usr/bin/java" java "/usr/lib/jvm/java-10-openjdk-amd64/bin/java" 1
      sudo update-alternatives --install "/usr/bin/javac" javac "/usr/lib/jvm/java-10-openjdk-amd64/bin/javac" 1
      

      【讨论】:

        【解决方案6】:

        我找到了一个仓库

        sudo add-apt-repository ppa:openjdk-r/ppa
        sudo apt update
        sudo apt install openjdk-10-jdk
        

        Repo home page

        【讨论】:

        • 该链接将在互联网上持续一段时间,然后它就会失效,并且这个离题问题的答案将不再有帮助。
        • 完全冗余安装openjkd10(它包含在openjdk-11-jdk中)但如果你想要真正的jdk 11是必要的。
        【解决方案7】:

        在 Linux Ubuntu 上安装 Jdk 10

        1. 从 Oracle 官方下载所需的 tarball 网站,即 https://www.oracle.com

        2. 使用“tar -zxvf tarball_name”解压这个压缩包

        3. 在“/usr/lib”中创建一个名为“java”的文件夹,需要root权限
          sudo mkdir /usr/lib/java

        4. 使用以下命令将提取的文件夹移动到“/usr/lib/java/”:
          sudo mv java-10-dir-name/ /usr/lib/java/

        5. 现在转到该位置,即 cd /usr/lib/java/java-10-dir-name/

        6. 接下来,在终端中运行以下脚本:

          sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/java/java-10-dir-name/bin/java" 1 sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/java/java-10-dir-name/bin/javac" 1 sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/java/java-10-dir-name/bin/javaws" 1

          注意: 在上面给出的命令中,您必须将提取的目录命名为“java”而不是“java-10-dir-name”。

          更新你的 ~/.bashrc 中的 JAVA_HOME

          导出 JAVA_HOME=/usr/lib/java/java-10-dir-name 设置 PATH="$PATH:$JAVA_HOME/bin" 导出路径

          验证安装

          验证你的机器是否正确安装了Java 10,在你的终端执行以下命令:

          $ java --版本 openjdk 10 2018-03-20 OpenJDK 运行时环境 18.3(内部版本 10+46) OpenJDK 64 位服务器 VM 18.3(内部版本 10+46,混合模式)

          $ javac --版本 javac 10

        【讨论】:

          猜你喜欢
          • 2019-03-01
          • 2013-01-25
          • 2018-09-05
          • 1970-01-01
          • 1970-01-01
          • 2016-09-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多