介绍
Java和JVM(Java的虚拟机)是许多软件所必需的,包括Tomcat , Jetty , Glassfish , Cassandra和Jenkins 。
在本指南中,您将使用apt
安装各种版本的Java Runtime Environment(JRE)和Java Developer Kit(JDK)。 您将安装OpenJDK以及Oracle的官方软件包。 然后,您将选择要用于项目的版本。 完成后,您将能够使用JDK开发软件或使用Java Runtime运行软件。
先决条件
要学习本教程,您需要:
- 一个Debian 9服务器按照Debian 9初始服务器设置指南教程设置 ,包括一个具有
sudo
访问权限和防火墙的非root用户。
安装默认JRE / JDK
安装Java的最简单方法是使用Debian打包的版本。 默认情况下,Debian 9包含Open JDK,它是JRE和JDK的开源变体。
该软件包将安装OpenJDK 1.8版,该版本与Java 8兼容.Java 8是当前的长期支持版本,并且仍然得到广泛支持,但公共维护在2019年1月结束。
要安装此版本,请先更新软件包索引:
sudo apt update
接下来,检查是否已安装Java:
java -version
如果当前未安装Java,您将看到以下输出:
Output-bash: java: command not found
执行以下命令安装OpenJDK:
sudo apt install default-jre
此命令将安装Java运行时环境(JRE)。 这将允许您运行几乎所有Java软件。
验证安装:
java -version
您将看到以下输出:
Outputopenjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-1~deb9u1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
除了JRE之外,您可能还需要Java Development Kit(JDK)才能编译和运行某些特定的基于Java的软件。 要安装JDK,请执行以下命令,该命令还将安装JRE:
sudo apt install default-jdk
通过检查Java编译器javac
的版本来验证是否已安装JDK:
javac -version
您将看到以下输出:
Outputjavac 1.8.0_181
接下来,我们来看看如何安装Oracle的官方JDK和JRE。
安装Oracle JDK
如果要安装Oracle JDK(Oracle分发的正式版),则需要为要使用的版本添加新的软件包存储库。
首先,安装software-properties-common
软件包,该软件包添加了apt-get-repository
命令,您可以使用该命令将其他资源库添加到源列表中。
安装software-properties-common
的:
sudo apt install software-properties-common
安装完成后,您可以安装Oracle的Java。
安装Oracle Java 8
要安装Java 8(当前的长期支持版本),首先要添加其软件包存储库:
sudo add-apt-repository ppa:webupd8team/java
添加存储库时,您将看到如下消息:
output Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK8). There are no actual Java files in this PPA.
Important -> Why Oracle Java 7 And 6 Installers No Longer Work: http://www.webupd8.org/2017/06/why-oracle-java-7-and-6-installers-no.html
Update: Oracle Java 9 has reached end of life: http://www.oracle.com/technetwork/java/javase/downloads/jdk9-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
继续。 它将尝试导入一些GPG签名密钥,但它将无法找到任何有效的密钥:
Outputgpg: keybox '/tmp/tmpgt9wdvth/pubring.gpg' created
gpg: /tmp/tmpgt9wdvth/trustdb.gpg: trustdb created
gpg: key C2518248EEA14886: public key "Launchpad VLC" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1
gpg: no valid OpenPGP data found.
执行以下命令以手动添加存储库源的GPG密钥:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C2518248EEA14886
然后更新您的包列表:
sudo apt update
包列表更新后,安装Java 8:
sudo apt install oracle-java8-installer
您的系统将从Oracle下载JDK并要求您接受许可协议。 接受协议,JDK将安装。
安装Oracle Java 10
要安装Oracle Java 10,首先要添加其存储库:
sudo add-apt-repository ppa:linuxuprising/java
你会看到这个消息:
Output Oracle Java 10 installer
Java binaries are not hosted in this PPA due to licensing. The packages in this PPA download and install Oracle Java 10 (JDK 10), so a working Internet connection is required.
The packages in this PPA are based on the WebUpd8 Oracle Java PPA packages: https://launchpad.net/~webupd8team/+archive/ubuntu/java
Created for users of https://www.linuxuprising.com/
Issues or suggestions? Leave a comment here: https://www.linuxuprising.com/2018/04/install-oracle-java-10-in-ubuntu-or.html
More info: https://launchpad.net/~linuxuprising/+archive/ubuntu/java
Press [ENTER] to continue or ctrl-c to cancel adding it
按ENTER
继续安装。 与Java 8一样,您将看到有关无效签名密钥的消息:
Outputgpg: keybox '/tmp/tmpvuqsh9ui/pubring.gpg' created
gpg: /tmp/tmpvuqsh9ui/trustdb.gpg: trustdb created
gpg: key EA8CACC073C3DB2A: public key "Launchpad PPA for Linux Uprising" imported
gpg: Total number processed: 1
gpg: imported: 1
gpg: no valid OpenPGP data found.
执行此命令以导入必要的密钥:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A
然后更新您的包列表:
sudo apt update
包列表更新后,安装Java 10:
sudo apt install oracle-java10-installer
您的系统将从Oracle下载JDK并要求您接受许可协议。 接受协议,JDK将安装。
现在让我们看看如何选择要使用的Java版本。
管理Java
您可以在一台服务器上安装多个Java。 您可以使用update-alternatives
命令配置在命令行上使用的默认版本。
sudo update-alternatives --config java
如果您在本教程中安装了所有版本的Java,那么这就是输出的样子:
OutputThere are 3 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-10-oracle/bin/java 1091 auto mode
* 1 /usr/lib/jvm/java-10-oracle/bin/java 1091 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:
选择与Java版本关联的编号以将其用作默认编号,或按ENTER
保留当前设置。
您可以为其他Java命令执行此操作,例如编译器( javac
):
sudo update-alternatives --config javac
可以运行此命令的其他命令包括但不限于: keytool
, javadoc
和jarsigner
。
接下来让我们设置JAVA_HOME
环境变量。
设置JAVA_HOME
环境变量
许多使用Java编写的程序使用JAVA_HOME
环境变量来确定Java安装位置。
要设置此环境变量,请首先确定Java的安装位置。 再次使用update-alternatives
命令:
sudo update-alternatives --config java
此命令显示Java的每个安装及其安装路径:
Output Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-10-oracle/bin/java 1091 auto mode
* 1 /usr/lib/jvm/java-10-oracle/bin/java 1091 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
在这种情况下,安装路径如下:
- Oracle Java 10位于
/usr/lib/jvm/java-10-oracle/jre/bin/java
。 - Oracle Java 8位于
/usr/lib/jvm/java-8-oracle/jre/bin/java
。 - OpenJDK 8位于
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
。
这些路径显示了java
可执行文件的路径。
复制首选安装的路径,不包括尾随java
命令。 然后使用nano
或您喜欢的文本编辑器打开/etc/environment
:
sudo nano /etc/environment
在此文件的末尾,添加以下行,确保使用您自己复制的路径替换突出显示的路径:
JAVA_HOME="/usr/lib/jvm/java-8-oracle/jre/bin"
修改此文件将为系统上的所有用户设置JAVA_HOME
路径。
保存文件并退出编辑器。
现在重新加载此文件以将更改应用于当前会话:
source /etc/environment
验证是否已设置环境变量:
echo $JAVA_HOME
您将看到刚刚设置的路径:
Output/usr/lib/jvm/java-8-oracle/jre/bin
其他用户需要执行命令source /etc/environment
或注销并重新登录以应用此设置。
结论
在本教程中,您安装了多个Java版本,并学习了如何管理它们。 您现在可以安装在Java上运行的软件,例如Tomcat,Jetty,Glassfish,Cassandra或Jenkins。