如何在 Ubuntu Linux 上安装 JDK

Posted

技术标签:

【中文标题】如何在 Ubuntu Linux 上安装 JDK【英文标题】:How to install the JDK on Ubuntu Linux 【发布时间】:2013-01-25 03:36:07 【问题描述】:

注意:这是一个古老的问题,答案反映了当时的世界。现代 Ubuntu 发行版具有可用的 OpenJDK,可以使用它进行安装

sudo apt install default-jdk

我正在尝试在Ubuntu Linux 发行版上安装Java Development Kit (JDK),但我无法安装它。

在 Ubuntu 上安装它的步骤是什么?

【问题讨论】:

哪个 JDK 版本? Java6 还是 7? 32 位还是 64 位版本? How can I install Sun/Oracle's proprietary Java 6/7 JRE or JDK? github.com/shahriyar1369/JDK_Source_installer_for_ubuntu 【参考方案1】:

看看OpenJDK。它是 Linux 上的标准 JVM 实现。

【讨论】:

【参考方案2】:

Wiki from Ubuntu website:

对于 Ubuntu 10.04 LTS,sun-java6 软件包已从 Ubuntu 存档的 Multiverse 部分中删除。建议改用openjdk-6。

如果您无法从专有的 Sun JDK/JRE 切换到 OpenJDK,您可以从 Canonical Partner Repository 安装 sun-java6 软件包。您可以通过命令行配置您的系统以使用此存储库:

 sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
 sudo apt-get update   
 sudo apt-get install sun-java6-jre sun-java6-plugin
 sudo update-alternatives --config java

对于 Ubuntu 10.10,sun-java6 软件包已从 Ubuntu 存档的 Multiverse 部分中删除。建议改用openjdk-6。

如果您无法从专有的 Sun JDK/JRE 切换到 OpenJDK,您可以从 Canonical Partner Repository 安装 sun-java6 软件包。您可以通过命令行配置您的系统以使用此存储库:

 sudo add-apt-repository "deb http://archive.canonical.com/ maverick partner"
 sudo apt-get update   
 sudo apt-get install sun-java6-jre sun-java6-plugin
 sudo update-alternatives --config java

【讨论】:

【参考方案3】:

参考Ask Ubuntu问题How to set JAVA_HOME for OpenJDK?

如何在Ubuntu(Linux)中安装Open JDK(Java开发包)?

    从 Application Dash 打开 Terminal 或按 Ctrl+Alt+T

    更新存储库:

    sudo add-apt-repository ppa:openjdk-r/ppa  # only Ubuntu 17.4 and earlier
    sudo apt update
    

    可选:要搜索openjdk 的可用分布,请使用以下命令:

    apt search openjdk
    

    使用以下命令安装适当的版本:

    sudo apt install openjdk-8-jdk
    sudo apt install openjdk-8-source #this is optional, the jdk source code
    

    对于JAVA_HOME(环境变量)键入如下所示的命令,在“终端”中使用您的安装路径...

    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk
    

    (注意:/usr/lib/jvm/java-8-openjdk 在这里象征性地用于演示。您应该根据您的安装使用您的路径。)

    对于PATH(环境变量)键入命令如下图,在Terminal

    export PATH=$PATH:$JAVA_HOME/bin

    检查您的安装:

    java -version

【讨论】:

我复制了您的“export PATH=" ... 命令并搞砸了我的盒子。请将其更正为:“export PATH=$PATH:/usr/lib/jvm/java-6-openjdk/bin” 我会将export PATH=$PATH:/usr/lib/jvm/java-6-openjdk/bin 替换为export PATH=$PATH:$JAVA_HOME/bin,这样更干 如果要安装 java7,只需将 java-6-openjdk 替换为 java-7-openjdk 即可 你最好检查一下实际的文件夹是什么。就我而言,它是:/usr/lib/jvm/java-7-openjdk-amd64 对于 ubuntu 16.04 使用openjdk-8-jdk 没有openjdk-7-jdk 见here【参考方案4】:

您也可以相当轻松地安装 Oracle 的 JDK 1.7;例如,这是如何安装 JDK 1.7.0_13;

下载 JDK from Oracle's site。最新版本的下载始终来自http://java.oracle.com。

以 root 身份执行;

cd /usr/local
tar xzf <the file you just downloaded>

作为您的普通用户,在 ~/.profile 中添加或更改这两行以指向安装;

export JAVA_HOME=/usr/local/jdk1.7.0_13
export PATH=$PATH:$JAVA_HOME/bin

如果是更新,您可能还想删除 /usr/local 中的旧 java 安装目录。

注销并重新登录(或执行. ~/.profile),一切都会正常运行。

Oracle 的 JDK 的缺点是它不会像 OpenJDK 那样随系统的其余部分一起更新,所以如果你正在运行需要它的程序,我主要会考虑它。

【讨论】:

我需要在 tar xzf 命令中提供下载文件夹的路径 @Subash 在运行 tar xzf 命令之前,您需要将下载的文件放在 /usr/local 目录中。为此,cd 到您下载的文件所在的路径并运行:sudo mv &lt;nameOfYourFile.tar.gz&gt; /usr/local 嗨,linux新手,我只需要解压存档就可以安装了吗? 您可能还需要为 JVM 和 Java 编译器定义别名并将它们放在您的 ~/.profile 文件中:alias java='$JAVA_HOME/bin/java'alias javac='$JAVA_HOME/bin/javac' 只需下载 .rpm 并使用alien 进行安装。 sudo alien -i jdk-xxxxx.rpm【参考方案5】:

sun-java6-jdk 是 oracle-java8-installer 或 oracle-java7-installer 或 oracle-java7-installer 提供的一个虚拟包。

sudo apt-get install oracle-java8-installer  

会给你 sun-java6-jdk。

【讨论】:

oracle-java8-installer 仅可从外部 PPA 获得【参考方案6】:

如果您已经下载了 ZIP 文件,请按照以下步骤操作。

运行以下命令解压缩文件。

tar -xvf ~/Downloads/jdk-7u3-linux-i586.tar.gz
sudo mkdir -p /usr/lib/jvm/jdk1.7.0
sudo mv jdk1.7.0_03/* /usr/lib/jvm/jdk1.7.0/
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0/bin/javaws" 1

安装完成后,设置环境变量如下。

编辑文件/etc/profile中的系统路径:

sudo gedit /etc/profile

在末尾添加以下行。

JAVA_HOME=/usr/lib/jvm/jdk1.7.0
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH

来源:http://javaandme.com/

【讨论】:

谢谢!我正在寻找使用 update-alternatives 的方法 JRE_HOME 变量从何而来?【参考方案7】:

我推荐JavaPackage。

这很简单。您只需按照说明从 Oracle tar.gz 文件创建 .deb 包。

【讨论】:

【参考方案8】:

在 2019 年初 Oracle Java 许可证更改之前,以下内容曾经有效。

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

PPA 已停用,直到作者找到许可问题的解决方法。

【讨论】:

欲了解更多信息:webupd8.org/2012/01/… 这是我用的。如果你想要 java6 : sudo apt-get install oracle-java6-installer 。如果你想要 java8 : sudo apt-get install oracle-java8-installer 。如果您的系统上安装了多个 java,您可以选择:sudo update-alternatives --config java 这是最简单的答案,适用于所有 jdk 版本,只需将 java7 替换为 java6、8 或 9,您就可以安装所需的版本! 第一步有解决办法吗? ppa 不再有效。 截至 2019 年 3 月,ppa 已被禁用,现在互联网上有关此问题的 99% 的答案都无法再使用了。【参考方案9】:

简单运行:

sudo apt-get install default-jdk

【讨论】:

我认为这仅适用于 Ubuntu 18.04+。【参考方案10】:

OpenJDK 在大多数情况下都可以,但某些银行客户端应用程序可能需要 Oracle JDK(我的情况)——我不能使用 OpenJDK。

我很惊讶在 Ubuntu 12.10+ 中对于 Oracle 的 JDK 的默认方法(没有外部 PPA 的存储库)没有任何答案 - 我将尝试描述它。

安装JavaPackage: sudo apt-get install java-package 从Oracle downloads page下载Oracle JDK 从下载的 .tar.gz 存档中制作一个 Debian 软件包: make-jpkg jdk-YOUR_VERSION-linux-PLATFORM.tar.gz 此命令将生成一个 .deb 包。 以您喜欢的方式安装软件包(例如,sudo dpkg -i oracle-java8-jdk_8u40_amd64.deb

这是 Debian 开发人员官方支持的安装 Oracle JDK 的方式,我想这很简单。

【讨论】:

这无疑是最好的答案。花了几分钟,给了官方的JDK,因为有些应用不太喜欢OpenJDK。 我们可以用那个方法添加文档吗? 注意:您也可以通过这种方式轻松安装文档。这应该是最推荐的安装 java 的方式。【参考方案11】:

注意: WebUpd8 团队的 PPA 已于 2019 年 4 月 16 日起停止使用。因此,此 PPA 没有任何 Java 文件。更多信息请访问PPA's page on Launchpad。因此,由于历史原因,以下方法不再有效并存在。

如果要安装最新的 JDK 1.8,请使用 webupd8team PPA。

在您的系统中添加存储库:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

您现在可以使用以下命令安装 Oracle Java 8:

sudo apt-get install oracle-java8-installer

这个 ppa 存储库还提供了一个包来自动设置环境变量。只需输入:

sudo apt-get install oracle-java8-set-default

【讨论】:

【参考方案12】:

您可以通过apt-get安装:

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

之后,别忘了检查版本:

java -version

【讨论】:

【参考方案13】:

使用 PPA(已过时)

注意: WebUpd8 团队的 PPA 已于 2019 年 4 月 16 日起停止使用。因此,此 PPA 没有任何 Java 文件。更多信息请访问PPA's page on Launchpad。因此,由于历史原因,以下方法不再有效并存在。

您可以使用WebUpd8 PPA(这将从Oracle 下载所需文件并安装JDK 8):

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

Are PPA's safe to add to my system and what are some “red flags” to watch out for?

还要确保您的 JAVA_HOME 变量已设置为:

/usr/lib/jvm/java-8-oracle

手动安装

Oracle 提供的 tar.gz 没有实际的安装过程。您只需将这些文件提取到您想要的位置并将它们添加到您的路径中。所以过程如下:

从Oracle下载一个.tar.gz(这里我将使用jdk-8u20-linux-x64.tar.gz); 将其提取到某个地方;

将解压后的文件夹移至/usr/lib/jvm。这不是必需的,但它是安装 Java 运行时软件的地方

sudo mv /path/to/jdk1.8.0_20 /usr/lib/jvm/oracle_jdk8

使用以下内容创建一个文件/etc/profile.d/oraclejdk.sh(调整路径以反映您存储 JDK 的路径):

export J2SDKDIR=/usr/lib/jvm/oracle_jdk8
export J2REDIR=/usr/lib/jvm/oracle_jdk8/jre
export PATH=$PATH:/usr/lib/jvm/oracle_jdk8/bin:/usr/lib/jvm/oracle_jdk8/db/bin:/usr/lib/jvm/oracle_jdk8/jre/bin
export JAVA_HOME=/usr/lib/jvm/oracle_jdk8
export DERBY_HOME=/usr/lib/jvm/oracle_jdk8/db

完成!这些路径只有在您注销或重新启动后才会被识别,因此如果您想立即使用它们,请运行source /etc/profile.d/oraclejdk.sh

【讨论】:

【参考方案14】:

如果您想安装 Oracle JDK,可以use this automated script 为您完成所有工作。

有详细的使用说明on the author's blog。

【讨论】:

【参考方案15】:

注意: WebUpd8 团队的 PPA 已于 2019 年 4 月 16 日起停止使用。因此,此 PPA 没有任何 Java 文件。更多信息请访问PPA's page on Launchpad。因此,由于历史原因,以下方法不再有效并存在。

在 Ubuntu 上安装 Java 8

首先,您需要在系统中添加 webupd8team Java PPA 存储库,并使用以下命令集安装 Oracle Java 8。

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

验证已安装的 Java 版本

使用上述步骤成功安装Oracle Java后,使用以下命令验证安装的版本。

$ java -version

java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)

###配置Java环境

在 Webupd8 ppa 仓库中还提供了一个设置环境变量的包,使用以下命令安装这个包。

$ sudo apt-get install oracle-java8-set-default

Reference

【讨论】:

对 Java9 的工作大致相同:sudo apt-get install oracle-java9-installer【参考方案16】:

您可以使用oraji。它可以从 oracle java (.tar.gz) 安装/卸载 JDK 或 JRE。

    安装运行sudo oraji '/path/to/the/jdk_or_jre_archive' 要卸载运行oraji -u 并确认版本号。

【讨论】:

【参考方案17】:

我遇到了同样的问题,没有一个 cmets 对我有用。最后,我注意到我禁用了我的更新。当我重新激活它时, sudo apt-get update 工作正常,问题得到解决。 (系统设置中的更新>软件和更新>更新选项卡 在这里我勾选了重要更新和推荐更新这两个第一个选项。

【讨论】:

【参考方案18】:

安装 Oracle 的 Java JDK 要求您在安装开始前接受 Oracle 许可。这只需要一次。如果出于某种原因您需要自动安装,您可以运行以下命令进行安装,无需用户交互,例如对于自动脚本很有用。

sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update
echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections
echo debconf shared/accepted-oracle-license-v1-1 seen true | sudo debconf-set-selections
sudo apt-get -y install oracle-java8-installer
java -version

【讨论】:

【参考方案19】:

执行这一系列命令(插入、更新和安装),一切就绪。

    首先添加仓库:

    sudo add-apt-repository ppa:webupd8team/java
    

    更新:

    sudo apt-get update
    

    安装:

    sudo apt-get install oracle-java7-installer
    

【讨论】:

【参考方案20】:

最好安装默认 Java,直到不需要特定的 Java 版本。 在此之前,执行 java -version 来检查是否还没有安装 Java。

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

这就是安装 Java 所需的一切。

【讨论】:

sudo apt install default-jre sudo apt install openjdk-11-jre-headless sudo apt install openjdk-8-jre-headless【参考方案21】:

您可以使用sudo apt-get install default-jdk终端命令安装默认JDK版本。

在安装 Java 之前,键入 sudo apt-get update 终端命令,然后键入 install terminal 命令。您可以从here获取更多信息。

【讨论】:

【参考方案22】:

如果您不想安装 OpenJDK,请尝试以下操作:JDK Source Installer for Ubuntu

【讨论】:

【参考方案23】:

我已经按照this video 在 Ubuntu 18.04 LTS 上成功安装了 JDK 10。

我正在复制视频描述的摘录。

只需打开终端并给出以下命令:

用于 Java 安装 (PPA)

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

用于设置环境变量(使 java10 默认)

sudo apt-get install oracle-java10-set-default

同样的步骤可以在Ubuntu 16.04、Linux Mint、Debian等相关Linux系统上安装JDK 10。

【讨论】:

【参考方案24】:

Ubuntu 18.04中,我们可以像普通包一样安装java,而不需要使用外部存储库

只需运行此命令

sudo apt install openjdk-8-jdk

【讨论】:

【参考方案25】:

Ubuntu1604 中,我遇到了“没有安装候选错误”。按照以下步骤帮助我安装。

-sudo apt-get 更新 -sudo apt-get 升级 -apt-get install software-properties-common -sudo add-apt-repository ppa:webupd8team/java -apt-get 更新 -sudo apt install oracle-java8-installer

【讨论】:

【参考方案26】:

在 Debian 上你可以试试

apt-get install default-jdk

【讨论】:

【参考方案27】:

尝试使用 SDKMAN!包管理器 - https://sdkman.io/install 现在,这是在任何 Linux 发行版上安装许多基于 JVM 的 SDK、工具和框架的最简单方法。

安装后,运行以下命令查看所有可用的 Java 发行版:

sdk list java

选择你需要的发行版并安装它:

sdk install java <version>

【讨论】:

这实际上具有管理多个Java 版本的额外好处。所以如果你有多个项目需要不同的版本,你可以轻松切换。【参考方案28】:

我刚刚在 Ubuntu 虚拟机上完成了这项工作。以下是我的做法。

Ubuntu 安装了 Java JRE,但没有安装 JDK。 Java -version 提供 JRE,而不是 JDK。运行 javac -版本。如果未安装 JDK,则会出现错误。在终端中运行以下命令以获取 JDK:sudo apt install default-jdk。现在,运行which javac。输出应该是/usr/bin/javac。现在已经安装好了。 IntelliJ 不会让我们使用这个路径,因为它是 javac 的二进制文件。转到项目结构 > 项目设置 > 项目。在上面写着“Project SDK”的地方,添加一个 JDK。然后转到 /usr/lib/jvm。现在您应该可以在 IntellIJ 中编译 java 项目了。

您可能必须编辑配置,以便 IntelliJ 知道在哪里查找您的主类。转到运行 > 编辑配置。为 Main 类添加主类,并将项目的根添加为工作目录。

【讨论】:

【参考方案29】:

你可以使用SDKMan,

curl -s "https://get.sdkman.io" | bash
source "~/.sdkman/bin/sdkman-init.sh"
sdk install java

【讨论】:

【参考方案30】:

    安装合适版本的 OpenJDK

    JAVA_VERSION=8 sudo add-apt-repository -y ppa:openjdk-r/ppa sudo apt-get update sudo apt-get -qq install -y openjdk-$JAVA_VERSION-jdk

    在 /etc/profile.d/jdk.sh 中设置环境变量

    JAVA_HOME=/usr/lib/jvm/java-$JAVA_VERSION-openjdk-amd64 echo "export JAVA_HOME=$JAVA_HOME" | sudo tee -a /etc/profile.d/jdk.sh echo "export J2SDKDIR=$JAVA_HOME" | sudo tee -a /etc/profile.d/jdk.sh echo "export J2REDIR=$JAVA_HOME/jre" | sudo tee -a /etc/profile.d/jdk.sh echo "export PATH=$PATH:$JAVA_HOME/bin:$J2REDIR/bin" | sudo tee -a /etc/profile.d/jdk.sh

    检查您的安装

    /bin/bash /etc/profile.d/jdk.sh java -version echo $JAVA_HOME echo $J2REDIR echo $PATH

【讨论】:

以上是关于如何在 Ubuntu Linux 上安装 JDK的主要内容,如果未能解决你的问题,请参考以下文章

CenterOS,Ubuntu等Linux上安装JDK

如何在ubuntu下安装AndroidStudio

ubuntu jdk

Mac - 如何在Mac上安装多个版本openjdk并有效管理

ubuntu jdk安装

如何在ubuntu中安装jdk