介绍
编程语言 Java 和 Java 虚拟机或 JVM 被广泛使用并为多种软件所必需。
本教程提供了在 Debian 8 上安装 Java 的不同方法:您可以下载 Default JRE 或 JDK 或 Oracle JDK。 如果您决定安装多个版本的 Oracle Java,您可以按照 管理 Java 部分进行操作。 最后一节概述了设置JAVA_HOME环境变量
先决条件
要遵循本教程,您将需要:
- 一台 Debian 8 服务器。
- 一个 sudo 非 root 用户,您可以按照 Debian 8 初始服务器设置指南 进行设置。
安装默认 JRE/JDK
安装 Java 最简单的选择是使用 Debian 打包的版本。 具体来说,这将安装 OpenJDK 8,这是最新的推荐版本。
首先,更新包索引。
sudo apt-get update
接下来,安装 Java。 具体来说,此命令将安装 Java 运行时环境 (JRE)。
sudo apt-get install default-jre
出现提示时,键入 y
以确认安装。
还有另一个默认的 Java 安装,称为 JDK(Java 开发工具包)。 JDK 通常仅在您要编译 Java 程序或使用 Java 的软件特别需要它时才需要。
JDK 确实包含 JRE,因此如果您安装 JDK 而不是 JRE,除了文件大小较大之外,没有任何缺点。
您可以使用以下命令安装 JDK:
sudo apt-get install default-jdk
您现在已经安装了 Java 运行时环境或 Java 开发工具包。
安装 Oracle JDK
如果您想安装 Oracle JDK,它是 Oracle 分发的正式版本,您需要执行几个步骤。 您首先需要安装 software-properties-common
软件包才能使用 apt-get-repository
命令。 这将用于将存储库添加到您的源列表并导入关联的密钥。
sudo apt-get install software-properties-common
当提示确认安装时,键入 y
表示是。
为了确保我们在 Debian 上获得正确的源代码行,我们需要运行以下命令来修改该行:
sudo add-apt-repository "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main"
一旦我们这样做,我们将需要更新:
sudo apt-get update
现在我们将介绍不同版本的Java的安装过程。 您可以决定要安装哪些版本,并且可以选择安装一个或多个。 因为它是最新的稳定版本,所以在撰写本文时推荐使用 Oracle JDK 8。
甲骨文 JDK 8
在撰写本文时,Oracle JDK 8 是 Java 的最新稳定版本。 您可以使用以下命令安装它:
sudo apt-get install oracle-java8-installer
同样,系统将提示您输入 y
以确认安装。 您还需要接受 Oracle 二进制代码许可条款。 使用箭头键选择“Yes”,然后按“Enter”接受许可。 安装完成后,您可以验证您的 Java 版本:
javac -version
您将收到与此类似的输出:
Outputjavac 1.8.0_111
此时,您已经安装了 Oracle JDK 8,但您可能还需要安装以下一个或多个版本。 如果您已准备好开始,请跳至下面的 管理 Java 部分。
甲骨文 JDK 9
Oracle JDK 9 目前可通过其开发人员预览版进行早期访问。 一般版本计划于 2017 年夏季发布。 在 JDK 9 官方网站 上有更多关于 Java 9 的信息。
要安装 JDK 9,请使用以下命令:
sudo apt-get install oracle-java9-installer
尽管 Oracle JDK 9 可能值得研究,但仍可能存在安全问题和错误,因此您应该选择 Oracle JDK 8 作为默认版本。
管理 Java
一台服务器上可以有多个 Java 安装。 您可以使用 update-alternatives
来配置在命令行中使用的默认版本,它管理哪些符号链接用于不同的命令。
sudo update-alternatives --config java
输出将如下所示。 在这种情况下,安装了上面提到的所有 Java 版本。
输出
There are 4 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-9-oracle/bin/java 1091 auto mode 1 /usr/lib/jvm/java-6-oracle/jre/bin/java 1083 manual mode 2 /usr/lib/jvm/java-7-oracle/jre/bin/java 1082 manual mode 3 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 manual mode * 4 /usr/lib/jvm/java-9-oracle/bin/java 1091 manual mode Press enter to keep the current choice[*], or type selection number: Press <enter> to keep the current choice[*], or type selection number:
如果我们在这种情况下按回车键,Java 9 将保留为默认值。 例如,对于 Java 8,我们可以按 3
并接收以下输出:
Outputupdate-alternatives: using /usr/lib/jvm/java-8-oracle/jre/bin/java to provide /usr/bin/java (java) in manual mode
现在 Java 8 将成为默认值。 选择最适合您的项目的默认 Java 版本。
update-alternatives
命令还可以用于其他 Java 命令,例如编译器(javac
)、文档生成器(javadoc
)、JAR 签名工具(jarsigner
)等。 您可以使用以下命令,填写您要自定义的命令。
sudo update-alternatives --config command
这将使我们能够更好地控制在每种情况下使用的默认 Java 版本。
设置 JAVA_HOME 环境变量
许多程序(例如 Java 服务器)使用 JAVA_HOME
环境变量来确定 Java 安装位置。 要设置此环境变量,我们首先需要找出 Java 的安装位置。 您可以通过执行与上一节中相同的命令来执行此操作:
sudo update-alternatives --config java
从您的首选安装中复制路径,然后使用 nano
或您喜欢的文本编辑器打开 /etc/environment
。
sudo nano /etc/environment
在此文件中,添加以下行,确保将突出显示的路径替换为您自己复制的路径。
/etc/环境
JAVA_HOME="/usr/lib/jvm/java-8-oracle"
保存并退出文件,然后重新加载。
source /etc/environment
您现在可以通过执行以下命令来测试是否已设置环境变量:
echo $JAVA_HOME
这将返回您刚刚设置的路径。
结论
您现在已经安装了 Java,并且知道如何管理它的不同版本。 您现在可以安装在 Java 上运行的软件,例如 Tomcat、Jetty、Glassfish、Cassandra 或 Jenkins。