如何在Ubuntu下安装JDK11?

How to install JDK 11 under Ubuntu?

所以 Java 11 is out。有人知道如何从命令行安装它(来自 Oracle 的 OpenJDK)吗?

我希望看到 Oracle Java 10:

之前的内容
sudo add-apt-repository ppa:linuxuprising/java
sudo apt-get update
sudo apt-get install oracle-java10-installer

P. S.在题中提出说明:

sudo apt-get install openjdk-11-jdk

无效。

我创建了一个 Bash 脚本,基本上可以自动执行链接 . It requires the tar.gz file as well as its SHA256 sum value. You can find out more info and download the script from my GitHub project page 中描述的手动安装。它是根据麻省理工学院的许可提供的。

对于在 Ubuntu 上 运行 一个 JDK 并且想要升级到 JDK11 的任何人,我建议通过 sdkman 安装。 SDKMAN 是一个JVM 切换、删除和升级的工具。

SDKMAN is a tool for managing parallel versions of multiple Software Development Kits on most Unix based systems. It provides a convenient Command Line Interface (CLI) and API for installing, switching, removing and listing Candidates.

安装SDKMAN

$ curl -s "https://get.sdkman.io" | bash
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
$ sdk version

安装Java (11.0.3-zulu)

$ sdk install java

现在可以这样安装 openjdk-11:

sudo apt-get install openjdk-11-jdk

(之前安装过openjdk-10,现在没有了)

我来这里寻找答案,因为没有人为 oracle Java 11 输入命令,但只有 openjava 11 我想出了如何在 Ubuntu 上执行它,语法如下以下:

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

要在 Ubuntu 中安装 Openjdk 11,以下命令运行良好。

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

在 Ubuntu 中,您可以通过以下命令简单地安装 Open JDK。

sudo apt-get update    
sudo apt-get install default-jdk

您可以通过以下命令查看java版本

java -version

如果你想安装 Oracle JDK 8 按照下面的命令。

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

如果你想切换 java 版本,你可以尝试以下方法。

vi ~/.bashrc 并添加以下行 export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_221(path/jdk 文件夹)

sudo vi /etc/profile 并添加以下行

#JAVA_HOME=/usr/lib/jvm/jdk1.8.0_221
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME
export JRE_HOME
export PATH

您可以评论其他版本。这需要注销并重新登录才能使用。如果您想随时随地尝试,可以在同一终端中键入以下命令。它只会更新特定终端的 java 版本。

source /etc/profile

您可以随时通过 java -version 命令查看 java 版本。

sudo apt-get install openjdk-11-jdk

在此之后,尝试

java -version

确保 java 版本为 1.11.x,如果发现旧版本或不同版本,请检查以下命令以查看可用的 jdks,

update-java-alternatives --list

您应该会看到类似下面的内容,

java-1.11.0-openjdk-amd64      1111      /usr/lib/jvm/java-1.11.0-openjdk-amd64 

java-1.8.0-openjdk-amd64      1081      /usr/lib/jvm/java-1.8.0-openjdk-amd64

你可以从上面的列表中看到 java 1.11,使用下面的命令将 java 11 设置为默认值,

sudo update-alternatives --config java

对于上面的命令,您将得到类似下面的内容,并且还会要求设置一个选项,

There are 3 choices for the alternative java (providing /usr/bin/java).
   Selection    Path   Priority   Status

 ------------------------------------------------------------   

 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      auto mode
  
 1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      manual mode

 *2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081    manual mode 

 3            /usr/lib/jvm/jdk1.8.0_211/bin/java  0         manual mode 

 Press <enter> to keep the current choice[*], or type selection number:

你可以 select 想要的 select 离子数,我的情况是 0

对于 javac,

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-11-openjdk-amd64/bin/javac   1111      auto mode   

 1           /usr/lib/jvm/java-11-openjdk-amd64/bin/javac   1111      manual mode

 *2            /usr/lib/jvm/java-8-openjdk-amd64/bin/javac    1081      manual mode   
 3            /usr/lib/jvm/jdk1.8.0_211/bin/javac        0         manual mode
 
 Press <enter> to keep the current choice[*], or type selection number:

在我的例子中,它又是 0

完成上述步骤后,尝试

java -version

它将显示如下内容,

openjdk version "11.0.4" 2019-07-16 

OpenJDK Runtime Environment (build
 11.0.4+11-post-Ubuntu-1ubuntu218.04.3) 

 OpenJDK 64-Bit Server VM (build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3, mixed > mode, sharing)

首先检查 default-jdk 包,很有可能它已经为您提供了 OpenJDK >= 11.
参考:https://packages.ubuntu.com/search?keywords=default-jdk&searchon=names&suite=all&section=all

Ubuntu 18.04 LTS +

所以从Ubuntu 18.04 LTS开始就可以了。

sudo apt update -qq
sudo apt install -yq default-jdk

注意:不要忘记设置JAVA_HOME

export JAVA_HOME=/usr/lib/jvm/default-java
mvn -version

Ubuntu 16.04 LTS

对于Ubuntu 16.04 LTS,官方仓库中只提供了openjdk-8-jdk所以你需要在ppa中找到它:

sudo add-apt-repository -y ppa:openjdk-r/ppa
sudo apt update -qq
sudo apt install -yq openjdk-11-jdk

注意:不要忘记设置JAVA_HOME

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
mvn -version

刚刚将较旧的 Ubuntu 版本更新为 openJDK 11
实际上我只需要它用于 Jenkins,它似乎工作正常。

Ubuntu 12.04(精确):
openjdk-lts (11.0.4+11-1~12.04) precise 下载
文件:
openjdk-11-jre-headless_11.0.4+11-1~12.04_amd64.deb
openjdk-11-jre_11.0.4+11-1~12.04_amd64.deb

Ubuntu 14.04(信任):
openjdk-lts (11.0.5+10-2ubuntu1~14.04) trusty 下载
文件:
openjdk-11-jre-headless_11.0.5+10-2ubuntu1_14.04_amd64.deb
openjdk-11-jre_11.0.5+10-2ubuntu1_14.04_amd64.deb

安装
下载后,我使用 Ubuntu 软件中心安装了文件(首先是“无头”!)
然后我用 sudo update-alternatives --config java

选择了新版本

我不需要更改任何环境变量(比如 JAVA_HOME)——也许 Jenkins 不关心它们...

如果你想使用官方的oraclejdk。 然后从 oracle 网站下载 jdk 11 或最新版本:https://www.oracle.com/java/technologies/javase-downloads.html

然后使用此命令安装: sudo dpkg -i 你下载的文件

然后使用 /etc/profile 文件添加到您的 PATH。

就我而言,使用 ubuntu 20.04

它只是 100% 有效

注意:官方 oracle jdk 仅对开发免费。

我在 ubuntu 17.04 上安装 open jdk 时遇到问题 我设法使用以下步骤安装它:

wget https://download.java.net/java/ga/jdk11/openjdk-11_linux-x64_bin.tar.gz -O /tmp/openjdk-11+28_linux-x64_bin.tar.gz

tar xfvz /tmp/openjdk-11+28_linux-x64_bin.tar.gz --目录/usr/lib/jvm/

rm /etc/alternatives/java

ln -s /usr/lib/jvm/jdk-11/bin/java /etc/alternatives/java

java-版本

你应该看到这个:

打开jdk版本“11”2018-09-25 OpenJDK 运行时环境 18.9(build 11+28) OpenJDK 64 位服务器 VM 18.9(内部版本 11+28,混合模式)