如何在 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 <nameOfYourFile.tar.gz> /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的主要内容,如果未能解决你的问题,请参考以下文章