本文首发地址:开源实践网:如何在Ubuntu 18.04上安装Java(JDK11)
介绍
Java和JVM(Java的虚拟机)是许多软件所必需的,包括Tomcat,Jetty,Glassfish,Cassandra和Jenkins。
在安装之前,我们先简单的说一下 openjdk oracle jdk区别
OpenJDK采用GPL V2协议放出,而Oracle JDK则采用JRL放出。 两者协议虽然都是开放源代码的,但是在使用上的不同在于GPL V2允许在商业上使用,而JRL只允许个人研究使用。
所以,如果小伙伴们如果你的项目自己玩,两者差不多,Oracle JDK由专业的公司维护更稳定一些。如果你的项目准备商用,建议使用OpenJDK,可以避免法律上的纠纷。并且两个功能差不多,但是从一个切到另一个还是需要测试,所以尽量一开始就选择自己需要的版本。
在本篇教程中,您将使用apt
安装OpenJDK 11版本的Java Runtime Environment(JRE)和Java Developer Kit(JDK)
准备
一台Ubuntu 18.04 的服务器,一个可以使用sudo
命令的非root
账户。没有服务器的用户可以购买和使用阿里云服务器
安装JRE / JDK
安装Java的最简单方法是使用与Ubuntu一起打包的版本。默认情况下,Ubuntu 18.04包含Open JDK,它是JRE和JDK的开源变体。
该软件包将安装OpenJDK 10或11。建议安装jdk 11
- 在2018年9月之前,这将安装OpenJDK 10。
- 2018年9月之后,这将安装OpenJDK 11。
要安装此版本,请先更新本地软件包:
$ sudo apt update
接下来,检查是否已安装Java:
$ java -version
如果当前未安装Java,您将看到以下输出:
root@iZbpd1hdxfnqpt5479oe7fZ:~# java -version
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
执行以下命令安装OpenJDK:
apt install openjdk-11-jre-headless
此命令将安装Java运行时环境(JRE)。这将允许您运行几乎所有Java软件。
验证安装:
$ java -version
您将看到以下输出:
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.18.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.18.04, mixed mode, sharing)
除了JRE之外,您可能还需要Java Development Kit(JDK)才能编译和运行某些特定的基于Java的软件。
通过检查Java编译器的javac版本,来验证是否已安装JDK
$ javac -version
如果当前未安装Jdk,您将看到以下输出:
root@iZbp1hxfnoqptc5479oe7fZ:~# javac
Command 'javac' not found, but can be installed with:
apt install default-jdk
apt install openjdk-11-jdk-headless
apt install ecj
apt install openjdk-8-jdk-headless
要安装JDK,请执行以下命令,该命令还将安装JRE:
apt install openjdk-11-jdk-headless
再次检查Java编译器的javac版本,来验证是否已安装JDK :
$ javac -version
您将看到以下输出:
$ javac 11.0.11
设置JAVA_HOME环境变量
许多使用Java编写的程序使用JAVA_HOME环境变量来确定Java安装位置。
要设置此环境变量,请首先确定Java的安装位置。使用update-alternatives命令:
$ sudo update-alternatives --config java
此命令显示Java的每个安装及其安装路径:
There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-11-openjdk-amd64/bin/java
Nothing to configure.
在这种情况下,安装路径如下:
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。
从您想要的安装中复制路径。然后使用vim或您喜欢的文本编辑器打开
$ sudo vim /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或注销并重新登录才能应用此设置。