简体   繁体   English

如何在Ubuntu下安装JDK 11?

[英]How to install JDK 11 under Ubuntu?

So Java 11 is out .所以 Java 11 出来了 Does anybody know how to install it (OpenJDK from Oracle) from the command line?有人知道如何从命令行安装它(Oracle 的 OpenJDK)吗?

I would like to see something like it was before for Oracle Java 10:我想看到 Oracle Java 10 之前的情况:

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

PS In the similar question proposed instruction: PS在类似的问题中提出指令:

sudo apt-get install openjdk-11-jdk

doesn't work.不起作用。

Now it is possible to install openjdk-11 this way:现在可以通过这种方式安装 openjdk-11:

sudo apt-get install openjdk-11-jdk

(Previously it installed openjdk-10, but not anymore) (以前它安装了 openjdk-10,但现在没有了)

To install Openjdk 11 in Ubuntu, the following commands worked well.要在 Ubuntu 中安装 Openjdk 11,以下命令运行良好。

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

For anyone running a JDK on Ubuntu and want to upgrade to JDK11, I'd recommend installing via sdkman .对于在 Ubuntu 上运行 JDK 并想要升级到 JDK11 的任何人,我建议通过sdkman安装。 SDKMAN is a tool for switching JVMs, removing and upgrading. SDKMAN 是一个用于切换JVM、移除和升级的工具。

SDKMAN is a tool for managing parallel versions of multiple Software Development Kits on most Unix based systems. SDKMAN是一种用于在大多数基于 Unix 的系统上管理多个软件开发工具包的并行版本的工具。 It provides a convenient Command Line Interface (CLI) and API for installing, switching, removing and listing Candidates.它提供了一个方便的命令行界面 (CLI) 和 API,用于安装、切换、删除和列出候选者。

Install SDKMAN安装 SDKMAN

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

Install Java (11.0.3-zulu)安装 Java (11.0.3-zulu)

$ sdk install java

sudo apt-get install openjdk-11-jdk须藤 apt-get 安装 openjdk-11-jdk

after this, try在此之后,尝试

java -version版本

to make sure java version is 1.11.x, if found old one or different, check below command to see the available jdks,确保 java 版本是 1.11.x,如果发现旧版本或不同版本,请检查以下命令以查看可用的 jdks,

sudo update-java-alternatives --list须藤更新-java-alternatives --list

you should see something like below,你应该会看到类似下面的内容,

java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64 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.8.0-openjdk-amd64 1081 /usr/lib/jvm/java-1.8.0-openjdk-amd64

you can see java 1.11 available from above list, use below command to set java 11 to default,您可以从上面的列表中看到 java 1.11 可用,使用下面的命令将 java 11 设置为默认值,

sudo update-alternatives --config java须藤更新替代品--config java

for above command, you will get something like below and also, will ask for an option to set,对于上面的命令,你会得到类似下面的内容,并且会要求设置一个选项,

There are 3 choices for the alternative java (providing /usr/bin/java).替代 java 有 3 种选择(提供 /usr/bin/java)。

Selection Path Priority Status选择路径优先状态


0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 自动模式

1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111手动模式

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

3 /usr/lib/jvm/jdk1.8.0_211/bin/java 0 manual mode 3 /usr/lib/jvm/jdk1.8.0_211/bin/java 0 手动模式

Press to keep the current choice[*], or type selection number:按 保持当前选择[*],或输入选择编号:

you can select desired selection number, my case it's 0您可以选择所需的选择编号,我的情况是 0

for javac,对于 javac,

sudo update-alternatives --config javac须藤更新替代品 --config javac

will result something like below,会产生类似下面的结果,

There are 3 choices for the alternative javac (providing /usr/bin/javac).替代 javac 有 3 种选择(提供 /usr/bin/javac)。

Selection Path Priority Status选择路径优先状态


0 /usr/lib/jvm/java-11-openjdk-amd64/bin/javac 1111 auto mode 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/javac 1111 自动模式

1 /usr/lib/jvm/java-11-openjdk-amd64/bin/javac 1111 manual mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/javac 1111 手动模式

*2 /usr/lib/jvm/java-8-openjdk-amd64/bin/javac 1081 manual mode *2 /usr/lib/jvm/java-8-openjdk-amd64/bin/javac 1081手动模式
3 /usr/lib/jvm/jdk1.8.0_211/bin/javac 0 manual mode 3 /usr/lib/jvm/jdk1.8.0_211/bin/javac 0 手动模式

Press to keep the current choice[*], or type selection number:按 保持当前选择[*],或输入选择编号:

in my case, it's 0 again在我的情况下,它又是 0

after above steps, try完成上述步骤后,尝试

java -version版本

it will display something like below,它会显示如下内容,

openjdk version "11.0.4" 2019-07-16 openjdk 版本“11.0.4” 2019-07-16

OpenJDK Runtime Environment (build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3) OpenJDK 运行时环境(构建 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) OpenJDK 64 位服务器 VM(构建 11.0.4+11-post-Ubuntu-1ubuntu218.04.3,混合 > 模式,共享)

In Ubuntu, you can simply install Open JDK by following commands.在 Ubuntu 中,您可以通过以下命令简单地安装 Open JDK。

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

You can check the java version by following the command.您可以通过以下命令检查java版本。

java -version

If you want to install Oracle JDK 8 follow the below commands.如果要安装 Oracle JDK 8,请按照以下命令操作。

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

If you want to switch java versions you can try below methods.如果您想切换java版本,您可以尝试以下方法。

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

or或者

sudo vi /etc/profile and add the following lines 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

You can comment on the other version.你可以评论另一个版本。 This needs to sign out and sign back in to use.这需要注销并重新登录才能使用。 If you want to try it on the go you can type the below command in the same terminal.如果您想随时随地尝试,可以在同一终端中键入以下命令。 It'll only update the java version for a particular terminal.它只会更新特定终端的 java 版本。

source /etc/profile

You can always check the java version by java -version command.您可以随时通过java -version命令检查 java 版本。

First check the default-jdk package, good chance it already provide you an OpenJDK >= 11 .首先检查default-jdk包,很有可能它已经为您提供了一个OpenJDK >= 11
ref: https://packages.ubuntu.com/search?keywords=default-jdk&searchon=names&suite=all&section=all参考: https : //packages.ubuntu.com/search? keywords = default-jdk & searchon = names & suite = all & section =all

Ubuntu 18.04 LTS + Ubuntu 18.04 LTS +

So starting from Ubuntu 18.04 LTS it should be ok.所以从Ubuntu 18.04 LTS开始应该没问题。

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

note: don't forget to set JAVA_HOME注意:不要忘记设置JAVA_HOME

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

Ubuntu 16.04 LTS Ubuntu 16.04 LTS

For Ubuntu 16.04 LTS , only openjdk-8-jdk is provided in the official repos so you need to find it in a ppa :对于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

note: don't forget to set JAVA_HOME注意:不要忘记设置JAVA_HOME

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

I came here looking for the answer and since no one put the command for the oracle Java 11 but only openjava 11 I figured out how to do it on Ubuntu, the syntax is as following:我来这里是为了寻找答案,由于没有人为 oracle Java 11 提供命令而只有 openjava 11 我想出了如何在 Ubuntu 上执行此操作,因此语法如下:

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

I created a Bash script that basically automates the manual installation described in the linked similar question .我创建了一个 Bash 脚本,它基本上自动执行链接的类似问题中描述的手动安装。 It requires the tar.gz file as well as its SHA256 sum value.它需要tar.gz文件及其 SHA256 总和值。 You can find out more info and download the script from my GitHub project page .您可以从我的GitHub 项目页面找到更多信息并下载脚本。 It is provided under MIT license.它是在 MIT 许可下提供的。

I had problems installing open jdk on ubuntu 17.04 I managed to install it using this steps:我在 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 --directory /usr/lib/jvm/

rm /etc/alternatives/java

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

java -version

You should see this:你应该看到这个:

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)

We don't need any PPA.. Period ! 我们不需要任何PPA。 Get direct, original and official copy of your oracle java straight from oracle. 直接从oracle获取oracle java的直接,原始和正式副本。 Follow these simple steps. 请遵循以下简单步骤。

Step1: Go to this official link for java 11. - https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html 步骤1:转到Java 11的官方链接--https: //www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html

Step2: Select radio - Accept License Agreement. 第2步:选择广播-接受许可协议。

Step3: Click jdk-11.0.x_linux-x64_bin.deb to download. 步骤3:点击jdk-11.0.x_linux-x64_bin.deb进行下载。 Here "x" is the update version. 这里的“ x”是更新版本。 If you are not a registered user with Oracle, to download this file, you might be asked to logint/register (it doesnt harm). 如果您不是Oracle的注册用户,则要下载此文件,可能会要求您登录/注册(无害)。

Step4: Install your downloaded .deb file using command line ( sudo dpkg -i /path/to/deb/file/jdk-11.0.x_linux-x64_bin.deb ) or any gui tool (gdebi etc.). 步骤4:使用命令行( sudo dpkg -i /path/to/deb/file/jdk-11.0.x_linux-x64_bin.deb )或任何gui工具(gdebi等)安装下载的.deb文件。 By default the .deb will be installed at this location - /usr/lib/jvm/jdk-11.0.x (x is your downloaded version). 默认情况下,.deb将安装在此位置-/ usr/lib/jvm/jdk - 11.0.x (x是您下载的版本)。

Step5: Open a new terminal. 步骤5:打开一个新终端。 Run these comands (tweak is as per your version): 运行以下命令(根据您的版本进行调整):

cd /usr/lib/jvm/jdk-11.0.x

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk-11.0.5/bin/java" 0

exit

Step6: To verify, open a new terminal and issue 步骤6:要进行验证,请打开一个新终端并发出

java -version

You should get the output (similar to this): 您应该获得输出(类似于此):

java version "11.0.5" 2019-10-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.5+10-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode)

You are all set..!! 你们都准备好了.. !!

Later you can add JAVA_HOME=/usr/lib/jvm/jdk-11.0.5/ to your .bashrc file. 稍后,您可以将JAVA_HOME = / usr / lib / jvm / jdk-11.0.5 /添加到您的.bashrc文件中。

Just updated older Ubuntu versions to openJDK 11刚刚将旧版 Ubuntu 更新为 openJDK 11
Actually I need it for Jenkins only and it seems to work fine.实际上我只需要 Jenkins 使用它,它似乎工作正常。

Ubuntu 12.04 (Precise): Ubuntu 12.04(精确):
Download from openjdk-lts (11.0.4+11-1~12.04) preciseopenjdk-lts (11.0.4+11-1~12.04) 精确下载
Files:文件:
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 (Trusty): Ubuntu 14.04(可信赖):
Download from openjdk-lts (11.0.5+10-2ubuntu1~14.04) trustyopenjdk-lts (11.0.5+10-2ubuntu1~14.04)下载trusty
Files:文件:
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

Installation安装
After download I installed the files with Ubuntu Software Center ("headless" first!)下载后,我使用 Ubuntu 软件中心安装了文件(首先是“无头”!)
Then I selected the new version with sudo update-alternatives --config java然后我用sudo update-alternatives --config java选择了新版本

I didn't have to change any environment variables (like JAVA_HOME) - maybe Jenkins doesn't care about them...我不必更改任何环境变量(如 JAVA_HOME)——也许 Jenkins 并不关心它们......

if you want to use official oracle jdk.如果你想使用官方oracle jdk。 then download jdk 11 or latest from oracle website: https://www.oracle.com/java/technologies/javase-downloads.html然后从 oracle 网站下载 jdk 11 或最新版本: https : //www.oracle.com/java/technologies/javase-downloads.html

then use this command to install : sudo dpkg -i the file you downloaded然后使用此命令安装:sudo dpkg -i您下载的文件

then add to your PATH using /etc/profile file.然后使用/etc/profile文件添加到您的 PATH。

in my case it's just worked 100% using ubuntu 20.04在我的情况下,它使用 ubuntu 20.04 100% 工作

note: official oracle jdk free only for developments.注意:官方 oracle jdk 免费仅用于开发。

Following are command to install openjdk 11以下是安装 openjdk 11 的命令

sudo apt-get install openjdk-11-jdk sudo apt-get 安装 openjdk-11-jdk

We can check the version by running following command我们可以通过运行以下命令来检查版本

java -version java-版本

For setting the JAVA_HOME in path we can following command要在路径中设置 JAVA_HOME,我们可以使用以下命令

sudo gedit.bashrc.须藤 gedit.bashrc。

Set the following value in bashrc file在 bashrc 文件中设置以下值

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

To execute the content of bashrc file run following command要执行 bashrc 文件的内容,请运行以下命令

source ~/.bashrc.来源 ~/.bashrc。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM