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

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

sudo apt install default-jdk

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

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

【问题讨论】:

标签: java 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开发包)?

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

      2. 更新存储库:

        sudo add-apt-repository ppa:openjdk-r/ppa  # only Ubuntu 17.4 and earlier
        sudo apt update
        
      3. 可选:要搜索openjdk 的可用分布,请使用以下命令:

        apt search openjdk
        
      4. 使用以下命令安装适当的版本:

        sudo apt install openjdk-8-jdk
        sudo apt install openjdk-8-source #this is optional, the jdk source code
        
      5. 对于JAVA_HOME(环境变量)键入如下所示的命令,在“终端”中使用您的安装路径...

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

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

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

        export PATH=$PATH:$JAVA_HOME/bin

      7. 检查您的安装:

        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-jdkhere
      【解决方案4】:

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

      以 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。

                1. 安装运行sudo oraji '/path/to/the/jdk_or_jre_archive'
                2. 要卸载运行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】:

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

                      1. 首先添加仓库:

                        sudo add-apt-repository ppa:webupd8team/java
                        
                      2. 更新:

                        sudo apt-get update
                        
                      3. 安装:

                        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】:
                                        1. 安装合适版本的 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

                                        2. 在 /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

                                        3. 检查您的安装

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

                                        【讨论】:

                                          猜你喜欢
                                          • 1970-01-01
                                          • 1970-01-01
                                          • 1970-01-01
                                          • 1970-01-01
                                          • 2019-03-01
                                          • 2018-09-05
                                          • 2018-03-06
                                          • 1970-01-01
                                          • 1970-01-01
                                          相关资源
                                          最近更新 更多