578

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

sudo apt install default-jdk

我正在尝试在Ubuntu Linux 发行版上安装Java 开发工具包(JDK) ,但我无法安装它。

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

4

34 回答 34

828

参考问 Ubuntu问题如何为 OpenJDK 设置 JAVA_HOME?,

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

  1. 从 Application Dash打开终端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

于 2013-02-09T13:06:02.360 回答
208

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

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

PPA已终止,直到作者找到许可证问题的解决方法。

于 2014-01-02T13:22:21.553 回答
145

您也可以相当容易地安装 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.

注销并再次登录(或执行. ~/.profile),一切都应该正常工作。

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

于 2013-02-09T13:55:43.857 回答
79

如果您已经下载了 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/

于 2013-09-24T03:43:46.240 回答
62

注意: WebUpd8 团队的 PPA 自 2019 年 4 月 16 日起已停止使用。因此,此 PPA 没有任何 Java 文件。更多信息可以在PPA 的 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
于 2015-03-17T17:38:16.257 回答
34

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

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

  • 安装JavaPackagesudo apt-get install java-package
  • 从Oracle 下载页面下载 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 的方式,我想它非常简单。

于 2015-03-04T20:04:43.393 回答
29

注意: WebUpd8 团队的 PPA 自 2019 年 4 月 16 日起已停止使用。因此,此 PPA 没有任何 Java 文件。更多信息可以在PPA 的 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

参考

于 2016-04-23T00:22:07.407 回答
25

只需运行:

sudo apt-get install default-jdk
于 2014-12-22T16:10:08.863 回答
8

来自 Ubuntu 网站的 Wiki:

对于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
于 2013-02-09T12:54:38.503 回答
7

使用 PPA(已过时)

注意: WebUpd8 团队的 PPA 自 2019 年 4 月 16 日起已停止使用。因此,此 PPA 没有任何 Java 文件。更多信息可以在PPA 的 Launchpad 页面上找到。因此,由于历史原因,以下方法不再有效并存在。

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

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

将 PPA 添加到我的系统中是否安全?需要注意哪些“危险信号”?

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

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

手动安装

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

.tar.gzOracle下载一个(这里我将使用 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

于 2015-12-03T17:21:36.373 回答
6

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

只需运行此命令

sudo apt install openjdk-8-jdk
于 2018-07-05T22:36:05.283 回答
6

安装在 ubuntu 18.04

我的解决方法是,

$ sudo apt update

安装 OpenJDK 8:

$ sudo apt install openjdk-8-jdk

通过运行以下将打印 Java 版本的命令来验证 Java 安装:

$ java -version

输出应如下所示:

输出:

openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.18.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
于 2019-10-14T16:30:33.757 回答
5

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

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

于 2017-01-20T07:15:18.313 回答
4

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

于 2013-02-09T12:54:38.003 回答
4

我推荐JavaPackage

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

于 2013-10-02T15:34:30.253 回答
4

您可以通过以下方式安装apt-get

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

之后,不要忘记检查版本:

java -version
于 2015-11-19T08:25:07.510 回答
4

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

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

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

于 2017-01-11T11:08:28.803 回答
3

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

sudo apt-get install oracle-java8-installer  

会给你 sun-java6-jdk。

于 2013-09-13T10:22:32.827 回答
3

按照这个视频,我已经在 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。

于 2018-06-14T11:19:28.007 回答
3

您可以使用SDKMan

curl -s "https://get.sdkman.io" | bash
source "~/.sdkman/bin/sdkman-init.sh"
sdk install java
于 2019-04-09T18:29:10.263 回答
2

如果您想安装 Oracle JDK,您可以使用这个为您完成所有工作的自动化脚本

作者的博客上有详细的使用说明。

于 2016-02-05T17:53:35.383 回答
2

安装 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
于 2016-06-13T22:42:12.223 回答
2

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

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

sdk list java

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

sdk install java <version>
于 2019-01-28T07:32:49.453 回答
2
  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

于 2019-04-28T08:26:19.000 回答
1

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

  1. 安装运行sudo oraji '/path/to/the/jdk_or_jre_archive'
  2. 要卸载运行oraji -u并确认版本号。
于 2016-05-02T09:06:00.370 回答
1

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

于 2016-05-21T10:20:12.237 回答
1

如果您不想安装 OpenJDK,请尝试此操作:适用于 Ubuntu 的 JDK Source Installer

于 2017-09-21T05:44:24.137 回答
1

步骤 01: 下载 JDK

从oracle官网下载所需版本的JDK:【Oracle官网下载JDK】:https ://www.oracle.com/in/java/technologies/javase-downloads.html

 e.i - jdk-11.0.12_linux-x64_bin.tar.gz

步骤02: 安装:

a) 使用以下命令提取下载的文件

sudo -tar -vzxf jdk-11.0.12_linux-x64_bin.tar.gz

b)在usr/lib目录中创建一个名为java的目录

mkdir java

c) 将提取的jdk-11.0.12目录移动到新创建的目录java中

sudo mv jdk-11.0.12 /usr/lib/java

步骤 03:

a)一一执行以下命令

sudo update-alternative -install /usr/lib/java java /usr/lib/java/jdk-11.0.12/bin/java 1

sudo update-alternative -install /usr/lib/javac javac /usr/lib/java/jdk-11.0.12/bin/javac 1

步骤04:安装验证:

使用以下命令验证安装

 java --version
 javac --version
于 2021-08-21T13:04:57.783 回答
0

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

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

于 2018-09-18T00:00:28.193 回答
0

在 Debian 上你可以试试

apt-get install default-jdk
于 2018-12-17T03:23:53.003 回答
0

我只是在 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 类添加主类,并将项目的根添加为工作目录。

于 2019-03-24T15:13:37.200 回答
0

请按照此步骤安装 oracle JDK

  1. 从Oracle下载 oracle JDK(例如 Java 8 用于 64 位机器jdk-8u241-linux-x64.tar.gz
  2. 在主目录或首选位置提取 *.tar.gz
  3. 设置环境变量 例如打开终端类型sudo gedit ~/.bashrc 在 .bashrc 文件末尾添加以下行

    export JAVA_HOME=/opt/jdk1.8.0_241 #添加自己的jdk位置

    导出 PATH=$PATH:$JAVA_HOME/bin

  4. 保存并退出
  5. 最后 source .bashrc 例如source ~/.bashrc
  6. 现在打开一个新的终端类型jdk -version
于 2020-01-29T06:48:03.727 回答
0

如果您想使用 Java 10 以外的 AdoptOpenJDK 发行版,可以使用AdoptOpenJDK 网站上描述的官方存储库(也适用于 Debian):

  1. 通过运行以下命令导入官方 AdoptOpenJDK GPG 密钥:

    wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add -
    
  2. 通过运行以下命令导入 AdoptOpenJDK DEB 存储库:

    sudo add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
    

    如果您收到命令未找到错误,请尝试运行:

    apt-get install -y software-properties-common
    

    然后重复第一个命令。

  3. 使用 apt-get update 刷新你的包列表,然后安装你选择的 AdoptOpenJDK 包。例如,要使用 HotSpot VM 安装 OpenJDK 8,请运行:

    apt-get install <adoptopenjdk-8-hotspot>
    

您可以在https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/pool/main/a/下找到可用的包名称/Java 版本

于 2020-03-03T11:07:50.813 回答
-4

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

  1. 首先添加存储库:

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

    sudo apt-get update
    
  3. 安装:

    sudo apt-get install oracle-java7-installer
    
于 2016-08-22T06:50:33.490 回答