如何在 Ubuntu 下安装 JDK 11?
Posted
技术标签:
【中文标题】如何在 Ubuntu 下安装 JDK 11?【英文标题】:How to install JDK 11 under Ubuntu? 【发布时间】:2019-03-01 11:16:55 【问题描述】: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.在similar问题中提出指令:
sudo apt-get install openjdk-11-jdk
没用。
【问题讨论】:
当您尝试sudo apt-get install openjdk-11-jdk
时遇到什么错误?
Here 是 Linux 的“官方”安装说明。有一个 RPM (yum
),或者您可以从存档库手动安装。但显然没有 Debian apt-get
(还)。问:那为什么不直接从 tar.gz 安装呢?另见update-alternatives
@Mureinik "E: Unable to locate package openjdk-11-jdk" on Ubuntu 16.04
@Mureinik 目前这个包仍然安装 Java 10。它将在接下来的几天内更新,我假设提供 Java 11。
@Robert 下几天、下周、下个月...
【参考方案1】:
现在可以这样安装openjdk-11了:
sudo apt-get install openjdk-11-jdk
(之前它安装了openjdk-10,但现在没有了)
【讨论】:
这是 Oracle 构建还是来自采用 OpenJDK? 其实我认为它是Oracle OpenJDK 之一。我认为 Debian/Ubuntu 只需从 Oracle OpenJDK 版本下载 tarball,在顶部添加一些补丁并构建它们的包。 如果您不在任何 GUI 环境中使用 Java,您可能更喜欢安装openjdk-11-jdk-headless
。或者,如果您只想运行某些东西,而不是编译,openjdk-11-jre[-headless]
可能也适合您。
我必须先运行sudo add-apt-repository ppa:openjdk-r/ppa
才能添加存储库。
这里也一样。还 sudo apt-get update
更新存储库。然后sudo apt-get install openjdk-11-jdk
工作了。【参考方案2】:
要在 Ubuntu 中安装 Openjdk 11,以下命令运行良好。
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt install openjdk-11-jdk
【讨论】:
在 Pi 第一个命令给我:aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Raspbian/stretch 为我工作openjdk-11-jdk-headless
【参考方案3】:
对于在 Ubuntu 上运行 JDK 并想要升级到 JDK11 的任何人,我建议通过 sdkman 安装。 SDKMAN是一个JVM切换、移除和升级的工具。
SDKMAN 是一种用于在大多数基于 Unix 的系统上管理多个软件开发工具包的并行版本的工具。它提供了方便的命令行界面 (CLI) 和 API,用于安装、切换、删除和列出候选人。
安装 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
【讨论】:
哇,甚至类似于 Anaconda for Java?谁会想! 错误:“下载的 zip 存档损坏。您连接到互联网了吗?” @masterxilo 请您详细说明您遇到的错误,确保您需要互联网才能下载 SDKMAN 工具。我只尝试在 UNIX-Platform 上安装 SDKMAN 工具,您是在 Windows 平台上尝试吗? 是的! sdkman 让生活更轻松。超级简单的安装和配置,适用于 linux 服务器、linux docker 镜像或本地机器。免去使用包管理器的麻烦。【参考方案4】: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:
您可以选择所需的选择编号,我的情况是 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)
【讨论】:
【参考方案5】:在 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
(路径/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版本。
【讨论】:
【参考方案6】:首先检查default-jdk
包,很可能它已经为您提供了OpenJDK >= 11
。
参考:https://packages.ubuntu.com/search?keywords=default-jdk&searchon=names&suite=all§ion=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,官方 repos 中仅提供 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
【讨论】:
【参考方案7】:我来这里是为了寻找答案,由于没有人为 oracle Java 11 输入命令,而只有 openjava 11 我想出了如何在 Ubuntu 上执行此操作,语法如下:
sudo add-apt-repository ppa:linuxuprising/java
sudo apt update
sudo apt install oracle-java11-installer
【讨论】:
Oracle JVM (Hotspot) 不再免费用于生产。所以我更喜欢 OpenJDK 构建。 可悲的是,我也绑定了这个,但它不起作用。它说 E: Unable to locate package oracle-java11-installer【参考方案8】:我创建了一个 Bash 脚本,它基本上可以自动执行链接 similar question 中描述的手动安装。它需要tar.gz
文件及其 SHA256 总和值。您可以从我的GitHub project page 找到更多信息并下载脚本。它是在 MIT 许可下提供的。
【讨论】:
【参考方案9】:刚刚将较旧的 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 并不关心它们……
【讨论】:
【参考方案10】:如果你想使用官方的 oracle jdk。 然后从 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 下安装 JDK 11?的主要内容,如果未能解决你的问题,请参考以下文章