在Ubuntu 18.04上使用apt安装Java

安装默认的JRE/JDK

安装Java的最简单方法是使用与Ubuntu一起打包的版本。默认情况下,Ubuntu 18.04包含Open JDK,它是JRE和JDK的开源版本。

该软件包将安装OpenJDK 10或11。

  • 在现在,这将安装OpenJDK 10。
  • 在2018年9月以后,这将安装OpenJDK 11。

要安装此版本,请先更新软件包索引:

sudo apt update

接下来,检查 Java 是否已经安装:

java -version

如果Java当前未安装,你将看到以下输出:

Command 'java' not found, but can be installed with:

apt install default-jre
apt install openjdk-11-jre-headless
apt install openjdk-8-jre-headless
apt install openjdk-9-jre-headless

执行以下命令来安装OpenJDK:

sudo apt install default-jre

该命令将安装Java运行时环境(JRE)。这将允许你运行几乎所有的Java软件。

验证安装:

java -version

你将看到以下输出:

openjdk version "10.0.1" 2018-04-17
OpenJDK Runtime Environment (build 10.0.1+10-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 10.0.1+10-Ubuntu-3ubuntu1, mixed mode)

除了JRE之外,你可能还需要Java开发工具包(JDK)才能编译和运行一些特定的基于Java的软件。要安装JDK,请执行以下命令,该命令也将安装JRE:

sudo apt install default-jdk

通过检查javac Java编译器的版本来验证是否安装了JDK :

javac -version

你将看到以下输出:

javac 10.0.1

接下来,我们来看看指定我们要安装的OpenJDK版本。

安装OpenJDK的特定版本

虽然你可以安装默认的OpenJDK软件包,但你也可以安装不同版本的
OpenJDK。

OpenJDK 8

Java 8是目前的长期支持版本,虽然公共维护在2019年1月结束,但仍然得到广泛支持。要安装OpenJDK 8,请执行以下命令:

sudo apt install openjdk-8-jdk

验证安装:

java -version

你会看到这样的输出:

openjdk version "1.8.0_162"
OpenJDK Runtime Environment (build 1.8.0_162-8u162-b12-1-b12)
OpenJDK 64-Bit Server VM (build 25.162-b12, mixed mode)

也可以只安装JRE,你可以通过执行sudo apt install openjdk-8-jre来安装它。

OpenJDK 10/11

Ubuntu的存储库包含一个安装Java 10或11的软件包。在2018年9月之前,该软件包将安装OpenJDK 10.一旦Java 11发布,该软件包将安装Java 11。

要安装OpenJDK 11,请执行以下命令:

sudo apt install openjdk-11-jdk

要仅安装JRE,请使用以下命令:

sudo apt install openjdk-11-jre

安装Oracle JDK

如果你想安装由Oracle发布的正式版本Oracle JDK,则需要为要使用的版本添加新的软件包存储库。

要安装作为最新LTS版本的Java 8,请首先添加其软件包存储库:

sudo add-apt-repository ppa:webupd8team/java

当你添加存储库时,你会看到如下消息:

 Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK8). There are no actual Jav
a files in this PPA.

Important -> Why Oracle Java 7 And 6 Installers No Longer Work: http://www.webupd8.org/2017/06/why-oracl
e-java-7-and-6-installers-no.html

Update: Oracle Java 9 has reached end of life: http://www.oracle.com/technetwork/java/javase/downloads/j
dk9-downloads-3848520.html

The PPA supports Ubuntu 18.04, 17.10, 16.04, 14.04 and 12.04.

More info (and Ubuntu installation instructions):
- for Oracle Java 8: http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html

Debian installation instructions:
- Oracle Java 8: http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html

For Oracle Java 10, see a different PPA: https://www.linuxuprising.com/2018/04/install-oracle-java-10-in-ubuntu-or.html

More info: https://launchpad.net/~webupd8team/+archive/ubuntu/java
Press [ENTER] to continue or Ctrl-c to cancel adding it.

按ENTER继续。然后更新你的软件包列表

sudo apt update

包列表更新后,安装Oracle Java 8:

sudo apt install oracle-java8-installer

你的系统将从Oracle下载JDK并要求你接受许可协议。接受协议并安装JDK。

管理Java版本

你可以在一台服务器上安装多个Java。你可以使用update-alternatives命令配置哪个版本是命令行上使用的默认版本。

sudo update-alternatives --config java

如果你已经在本教程中安装了所有版本的Java,则输出结果如下所示:

There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
  3            /usr/lib/jvm/java-8-oracle/jre/bin/java          1081      manual mode

选择与 Java 版本关联的数字以将其用作默认值,或按下ENTER以保留当前设置。

你可以为其他Java命令执行此操作,如compiler(javac):

sudo update-alternatives --config javac

可以运行该命令的其他命令包括但不限于:keytool,javadoc和jarsigner。

设置JAVA_HOME环境变量
许多使用Java编写的程序使用JAVA_HOME环境变量来确定Java的安装位置。

要设置此环境变量,请先确定Java的安装位置。使用update-alternatives命令:

sudo update-alternatives --config java

该命令显示Java的每个安装版本及其安装路径:

There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
  3            /usr/lib/jvm/java-8-oracle/jre/bin/java          1081      manual mode

Press <enter> to keep the current choice[*], or type selection number:

在这种情况下,安装路径如下所示:

OpenJDK 11位于 /usr/lib/jvm/java-11-openjdk-amd64/bin/java.
OpenJDK 8位于/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java。
Oracle Java 8位于/usr/lib/jvm/java-8-oracle/jre/bin/java。

复制首选安装的路径。然后打开/etc/environment使用nano或你最喜爱的文本编辑器:

sudo nano /etc/environment

在该文件的末尾,添加以下行,确保使用自己的复制路径替换突出显示的路径:

JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64/bin/java"

修改此文件将为JAVA_HOME系统上的所有用户设置路径。

保存文件并退出编辑器。

现在重新加载此文件以将更改应用于当前会话:

source /etc/environment

验证是否设置了环境变量:

echo $JAVA_HOME

你会看到你刚刚设置的路径:

/usr/lib/jvm/java-11-openjdk-amd64/bin/java

其他用户需要执行该命令source /etc/environment或注销并重新登录才能应用此设置。

标签:Ubuntu 发布于:2019-10-24 12:15:10