Java 11已经过时了。有人知道如何从命令行安装它(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脚本,基本上自动化了链接的类似问题中描述的手动安装。它需要tar.gz文件及其SHA256 sum值。你可以从我的GitHub项目页面上找到更多信息并下载脚本。它是在MIT许可下提供的。


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

SDKMAN是一个用于在大多数基于Unix的系统上管理多个软件开发工具包的并行版本的工具。它提供了一个方便的命令行接口(CLI)和API,用于安装、切换、删除和列出候选。

安装软件开发工具包人

$ 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版本,你可以尝试下面的方法。

六世~ /。并添加以下行export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_221(路径/jdk文件夹)

or

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,如果发现旧的或不同的,检查下面的命令,看看可用的jdk,

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:

你可以选择你想要的选择数,我的例子是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

优麒麟 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-lt(11.0.4+11-1~12.04)下载 文件: openjdk-11-jre-headless_11.0.4 +十一~ 12.04 _amd64.deb openjdk-11-jre_11.0.4 +十一~ 12.04 _amd64.deb

Ubuntu 14.04(可信): 从openjdk-lt (11.0.5+10-2ubuntu1~14.04)下载 文件: 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并不关心它们……


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

然后使用以下命令安装: Sudo DPKG -i你下载的文件

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

在我的例子中,使用ubuntu 20.04它可以100%工作

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


我在ubuntu 17.04上安装开放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 --directory /usr/lib/jvm/

rm /etc/alternatives/java

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

java -version

你应该看到:

openjdk version "11" 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)

下面是安装openjdk 11的命令

Sudo apt-get install openjdk-11-jdk

可以运行以下命令检查版本

java - version

要设置JAVA_HOME in路径,可以使用下面的命令

Sudo gedit .bashrc。

在bashrc文件中设置以下值

export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))
export PATH=$PATH:$JAVA_HOME/bin

执行bashrc文件的内容

~ / .bashrc来源。