如何在Ubuntu下安装JDK 10?


Answers:


192

更新: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起义

选项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,请下载它并按照上面显示的步骤进行安装。


3
最好不要使用与官方软件包最终使用的目录名完全相同的目录名,以免覆盖文件。
托尔比约恩Ravn的安德森

也许您必须先安装替代产品。因此,在运行命令$ sudo update-alternatives --config java之前,请先运行命令以安装$ sudo update-alternatives --install / usr / bin / java java / usr / lib / jvm / java-10-openjdk-amd64 / <优先级>其中<优先>是一个你选择definning的哪一种选择应该先运行,除非你将其设置mannualy
若昂Wiciuk

1
@DmitriyDumanskiy WebUpd8团队准备了JDK 8/9 PPA,因此他们可能会为JDK 10发布一个。但是我没有估计他们何时或是否发布它。您可能会发现晦涩难懂的发布者发布了JDK 10 PPA存储库,不应因为涉及到的潜在安全风险而信任它。
Wesam

2
不要忘了sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/java-10-openjdk-amd64/bin/jar 1jar命令!
David Tabernero M.

2
Ubuntu的软件包的OpenJDK-11-JDK包含Java 10.0.2 :)
БешеныйПингвин

10

我找到了SdkMan!一个非常有用的工具,因为它提供了一种从外壳管理JDK的便捷方法。

例如,安装后,您可以:

安装特定的JDK版本:sdk install java 10.0.2-open

Downloading: java 10.0.2-open

In progress...

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

使用特定的JDK版本:sdk use java 10.0.2-open

Using java version 10.0.2-open in this shell.

列出可用的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


8

在Java 10上有一个PPA安装了Oracle的Java:https : //launchpad.net/~linuxuprising/+archive/ubuntu/java

我不确定这是否会得到维持。它似乎是webupd8方法的副本,说明了如何处理oracle java安装(参考: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

2
该PPA的来源不明确,我不相信。我们宁愿等待WebUp8发布。
Wesam '18

5
从官方的WebUp8仓库中提到了它:launchpad.net/~webupd8team/+archive/ubuntu/java
BeepDog

3

注意仅当您有多个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文件 在此处输入图片说明

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

source /etc/environment

在此处输入图片说明

如果您想了解更多有关更新替代方法的信息,请访问以下链接:https : //askubuntu.com/questions/159575/how-do-i-make-java-default-to-a-manually-installed-jre-杰克


1

您需要在最后一步之前执行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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.