如何安装Java?

如何安装Java,包括在我的浏览器中,以便能够正常访问需要Java的网站?
15个回答

有几种Java的实现方式。在谈到Ubuntu时,最常见的三种实现方式是:
- OpenJDK:OpenJDK项目的主要目标是生产一个开源的Java SE平台(6和7)的实现。这是Ubuntu使用的默认版本,也是最容易安装的版本。
- Sun Java:Sun Java是Java 6的参考实现。它在Ubuntu上的支持已经终止。
- Oracle Java:Oracle Java是来自Oracle的OpenJDK Java SE平台版本7的实现。Oracle引入了一项许可证,阻止了该实现的分发。
自Ubuntu 11.10(Oneiric Ocelot)开始,由于许可问题,Ubuntu将不再分发Oracle的JDK和JRE。此外,之前在PPA上提供的版本存在安全问题,不建议在任何Ubuntu系统上安装。
关于Sun Java或Oracle Java,Ubuntu没有更多支持的.deb发布版本,官方支持的是OpenJDK和OpenJRE的Java实现,这是Oracle自己实现的基础。
OpenJRE是您Ubuntu系统的官方Java运行环境(JRE)实现,足以运行您可能需要的任何Java程序,并且已包含在主要软件仓库中,易于安装。

OpenJRE

通过打开终端并输入以下命令:
sudo apt-get install default-jre

这将安装openjdk-11-jre(在撰写本文时,您可能会在未来安装更新的Java版本,如果它安装了不同的openjdk版本,我猜测现在是这样)。 openjdk-11-jre软件包仅包含Java运行环境。如果您想开发Java程序,请安装default-jdk软件包。
另外重要的是在您的网页浏览器上安装支持Java应用程序的包装器,即。

Install via the software center

或者通过终端
sudo apt-get install icedtea-plugin

或者在Ubuntu软件中心搜索icedtea-plugin
为了确保您正在运行正确的Java版本,请使用以下命令来设置您的选择:
sudo update-alternatives --config java

java -version 应该显示您之前所做的选择。


如果您需要安装OpenJDK-JRE 6或OpenJDK-JDK 6 openjdk-6-jre(点击安装)可供Ubuntu 8.04(Hardy Heron)及以上版本安装。
使用以下命令进行安装:
sudo apt-get install openjdk-6-jre

如果你需要开发者包,点击openjdk-6-jdk(点击安装)进行安装。
sudo apt-get install openjdk-6-jdk

icedtea-plugin 的一个版本(点击安装)也可用于安装,如果您打算使用 OpenJDK 6。

使用以下命令进行安装:

sudo apt-get install icedtea6-plugin

如果你真的想使用Oracle的Java SE平台,请参考《如何安装Sun/Oracle的专有Java JDK 6/7/8或JRE?》。

在15.04版本下,icedtea-7-plugin与Firefox不兼容。我发现通过下载tar.gz分发包,并手动将libnpjp2.so符号链接到/usr/lib/firefox-addons/plugins目录中可以解决此问题。请注意,在Java控制面板中还需要将网站标记为可信任(这只有在解压缩的jre完整文件夹名称中没有空格的情况下才可能实现)。 - Thorbjørn Ravn Andersen
5OpenJDK现在是openjdk-8-jre。 - omikad
在Ubuntu 16上,使用Firefox 50和Open-JDK 8...通过执行apt-get install icedtea-netx,然后再执行apt-get install icedtea-plugin,我成功解决了问题!非常感谢您的答案,帮助太大了! :) - Bane
3始终通过使用“sudo apt install default-jdk”安装最新版本的Open JDK。目前,此命令将安装版本8。 - Gabriel Staples

安装OpenJDK并不足以在浏览器中启用Java。您还需要安装icedtea-7-plugin软件包:

Install via the software center

可能需要重新启动浏览器。

2018年的最新进展如何? - Konrad Gajewski
@KonradGajewski 不太确定,我最近没有使用任何Java小程序。事实上,Firefox 52已经停止支持Java插件,Chrome 45也是如此。 - Lekensteyn
在过去的几个小时里,我无法在Firefox、Chromium或Chrome上运行它。但是我成功在Konqueror中使Java工作正常。 - Konrad Gajewski

请注意:WebUpd8团队的PPA已于2019年4月16日停止。因此,该PPA不再包含任何Java文件。更多信息可在Launchpad上的PPA页面找到。因此,这种方法已经不再有效,只是出于历史原因存在。
安装Oracle Java 7的方法:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo mkdir -p /usr/lib/mozilla/plugins #just in case, this will be added to the package in the next version
sudo apt-get install oracle-jdk7-installer

安装完成后,如果您想确认是否成功,可以运行以下命令:java -version(参见http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html) - rubo77

安装OpenJDK - 推荐

在Ubuntu上安装Java的最简单方法是使用OpenJDK。这对大多数人来说都可以正常工作。要安装它,请点击下面截图中显示的带有Ubuntu标志的小按钮。

enter image description here

打开Dash Home后,你需要输入Terminal。点击下面截图中圈出来的图标。

enter image description here

这将打开终端,它是Ubuntu版本的Windows命令提示符,不过终端有更多功能。现在,请将以下命令复制并粘贴到终端窗口中。您需要使用ControlShiftV将文本粘贴到终端中。
sudo apt-get install -y openjdk-7-jre openjdk-7-jdk

使用此命令时,您需要输入密码。尽管在终端中不会显示密码,但在您输入时仍然会被记录。运行此命令后,您将可以运行和开发Java应用程序。

安装Oracle Java

对于大多数人来说,OpenJDK很好用,但如果您打算玩Minecraft,您将需要使用Oracle Java。要安装Oracle Java,请在终端中逐行运行以下命令:

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

这将从Oracle的网站下载Java,并为您安装它。

4-1 有三个主要原因:1 - 只有JDK和JRE是不足以在Web浏览器中启用Java的。您仍然需要icedtea-plugin软件包(icedtea6-pluginicedtea7-plugin,选择与您的Java版本匹配的那一个);2 - JDK已经包含了JRE,所以不需要同时安装两者。对于普通用户(如OP),可以选择JRE,对于Java开发人员,则选择JDK。3 - 既然您费心贴出了漂亮的截图,为什么要建议使用终端命令?在这种情况下,软件中心更加友好和推荐。 - MestreLion
webupd8team的PPA已经停止使用。参考 - Kulfy
警告:ppa webupd8team已被停用。在此处阅读原因:https://launchpad.net/~webupd8team/+archive/ubuntu/java - Matthew K.

注意:WebUpd8团队的PPA已于2019年4月16日停止使用。因此,该PPA不再包含任何Java文件。更多信息请参阅Launchpad上的PPA页面。因此,这种方法不再有效存在,仅因历史原因而保留。
使用Ctrl+Alt+T打开终端,并执行以下操作:
现在将安装最新的Java版本
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

非常感谢...但是我尝试了最后一句话"sudo update-alternatives --config java",显示"在链接组java中只有一个可选项(提供/usr/bin/java):/usr/lib/jvm/java-7-oracle/jre/bin/java 无需配置。" 这样怎么检查它是否正在使用呢? - Septrba
@Septrba 你只安装了一个Java版本,只能使用其中一个,并且就是你已经安装的那个。如果你安装了多个版本,系统会列出并显示正在使用的版本。也许我不应该在回答中提到这一点,因为它可能更加令人困惑而不是有帮助。:P - pileofrocks

注意:WebUpd8团队的PPA已于2019年4月16日停止使用。因此,该PPA不再包含任何Java文件。更多信息请参阅Launchpad上PPA页面。因此,这种方法不再有效存在,仅因历史原因而存在。
Oracle Java 8刚刚发布(稳定版)。要在Ubuntu中安装它,您可以使用WebUpd8 Java PPA。
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

PPA本身不提供Oracle Java 8的二进制文件(这在Oracle Java许可证下是不允许的)。相反,使用一个安装程序来自动下载并安装Oracle Java 8。使用这个PPA,您还将收到自动的Java 8更新。
关于如何使用/进一步配置Oracle Java 8的更多信息和一些提示,请参阅WebUpd8上的通过PPA存储库在Ubuntu中安装Oracle Java 8 [JDK 8]

很不幸,由于许可证问题,Oracle Java不再在官方的Ubuntu软件源中分发。您有两个主要选择:要么尝试OpenJDK - Oracle Java的开源替代品,要么继续进行“手动”安装(这正是您试图做的)。这两个选项都在帮助wiki上有详细说明:https://help.ubuntu.com/community/Java。该页面还包括一些其他替代方案,根据您的需求,您可能会发现更合适的选择。
顺便提一下:大多数情况下,在Ubuntu上,您不应该从互联网上下载软件,而是使用Ubuntu软件中心。您在那里找到的软件经过保证是稳定、安全并且符合系统的标准约定。Oracle Java只是这个规则的一个例外。

只需进入应用程序-->Ubuntu软件中心,然后搜索Java

1你的答案是OP安装之前的Java运行环境,而不是最新版本的jre-6u25-linux-i586.bin。 - scouser73
1Scouser73,jre-6u25-linux-i586.bin听起来像是Oracle的专有Java实现。这个问题涉及OpenJDK。 - Lekensteyn
被标记为橙色的是open-jdk java6运行时! - Alvar
scouser73 提到了Oracle Java 的安全更新。我不知道当前版本是否受影响,已安装的 JRE 版本是 6b22,但请记住这与 Oracle Java 的版本号无关,请参阅 https://dbhole.wordpress.com/2011/05/27/why-do-xx-and-yy-in-jdk6-uxx-and-openjdk-byy-differ/ - Lekensteyn
嗯,Scouser73在一个网页上遇到了问题。我只使用jdk,这就是我所需要的一切,所以我想这可能会有所帮助。 - Alvar

# 当前的Java版本 - 在这里下载JDK / JRE

sudo mkdir /usr/local/java

cd /usr/local/java

# 如果有的话,删除之前的安装

sudo rm -rf /usr/local/java/jdk*
sudo rm -rf /usr/local/java/jre*

将已下载/扩展的目录移动到 /usr/local/java。
sudo mv ~/jdk* /usr/local/java/
sudo mv ~/jre* /usr/local/java/

cd /usr/local/java/

创建符号链接
sudo ln -s jdk*  jdk
sudo ln -s jre*  jre

#仅需要在新安装的Ubuntu上执行以下操作 - 如果之前已安装任何Java版本,忽略此步骤,因为它已经准备就绪

#设置符号链接:

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jre/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jre/bin/javaws" 1
sudo update-alternatives --set java /usr/local/java/jre/bin/java
sudo update-alternatives --set javac /usr/local/java/jdk/bin/javac
sudo update-alternatives --set javaws /usr/local/java/jre/bin/javaws

最后,将这些内容放入你的~/.bashrc文件中。
export JAVA_HOME=/usr/local/java/jdk
export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JRE_HOME=/usr/local/java/jre
export PATH=$PATH:$HOME/bin:$JRE_HOME/bin

现在你已经准备就绪;-)

更新:自Ubuntu 16.04起,您可以通过不使用ppa来安装此软件。
$> sudo apt-get update
$> sudo apt-get install openjdk-8-jdk

遗留答案:

对于 Ubuntu < 16.04,没有来自OpenJDK(开源版本)的官方Java 8软件包,但您可以通过运行this PPA进行安装:

$> sudo add-apt-repository ppa:openjdk-r/ppa
$> sudo apt-get update
$> sudo apt-get install openjdk-8-jdk

我刚刚运行了最后两个命令,没有运行第一个命令,结果成功了。所以看起来现在有一个官方的软件包(2016年)。 - Tom Anderson
更新了Ubuntu 16.04的答案。 - thelastshadow