如何在Ubuntu 20.04 LTS Linux上安装Java

时间:2020-01-09 10:40:56  来源:igfitidea点击:

如何在Ubuntu 20.04 LTS Linux系统上安装Java吗?

Java是最流行的软件和规范之一,最初由Sun Microsystems的James Gosling创建。
我们可以使用Java为手机或台式机用户创建跨平台应用程序。
目前,Java由Oracle Corporation拥有。

OpenJDK和Oracle Java是Java规范最突出的实现。

Oracle Java附带有限制性许可证,并且是企业用户首选的许可证。

OpenJDK是Ubuntu 20.04 LTS和许多Linux发行版的默认设置。
让我们看看如何在Ubuntu Linux 20.04 LTS上安装Java Runtime Environment(JRE)和Java Development Kit(JDK)。

如何在Ubuntu 20.04 LTS上安装Java

Ubuntu Linux随附OpenJDK版本8和11。
让我们使用apt-cache命令和sort命令查找有关版本的信息:

$ apt-cache --names-only search 'openjdk-[0-9]*-(jre|jdk)' | sort -t '-' -k 2 -n

可以安装不同版本的JDK和JRE:

openjdk-8-jdk - OpenJDK Development Kit (JDK)
openjdk-8-jdk-headless - OpenJDK Development Kit (JDK) (headless)
openjdk-8-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-8-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-8-jre-zero - Alternative JVM for OpenJDK, using Zero/Shark
openjdk-11-jdk - OpenJDK Development Kit (JDK)
openjdk-11-jdk-headless - OpenJDK Development Kit (JDK) (headless)
openjdk-11-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-11-jre-dcevm - Alternative VM for OpenJDK 11 with enhanced class redefinition
openjdk-11-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-11-jre-zero - Alternative JVM for OpenJDK, using Zero
openjdk-13-jdk - OpenJDK Development Kit (JDK)
openjdk-13-jdk-headless - OpenJDK Development Kit (JDK) (headless)
openjdk-13-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-13-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-13-jre-zero - Alternative JVM for OpenJDK, using Zero
openjdk-14-jdk - OpenJDK Development Kit (JDK)
openjdk-14-jdk-headless - OpenJDK Development Kit (JDK) (headless)
openjdk-14-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-14-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-14-jre-zero - Alternative JVM for OpenJDK, using Zero

无终端(显示器键鼠)版本适用于不需要JAVA桌面GUI组件的服务器用户。

步骤1在Ubuntu 20.04 LTS上安装OpenJDK版本14

更新存储库,然后使用apt命令安装OpenJDK版本14:

$ sudo apt update

$ sudo apt upgrade

$ sudo apt install openjdk-14-jdk

## for servers try headless version ##

$ sudo apt install openjdk-14-jdk-headless

在Ubuntu服务器上安装OpenJDK版本14

第2步验证

让我们打印Java版本:

$ java --version
openjdk version "14.0.1" 2020-04-14
OpenJDK Runtime Environment (build 14.0.1+7-Ubuntu-1ubuntu1)
OpenJDK 64-Bit Server VM (build 14.0.1+7-Ubuntu-1ubuntu1, mixed mode, sharing)

步骤3安装Java/OpenJDK的多个版本

我们可以在Ubuntu上安装多个版本。
它允许我们根据Java版本运行不同的应用程序。
例如,在这里我将安装OpenJDK 11:

$ sudo apt install openjdk-11-jdk

设置默认的Java版本

我们可以使用符号链接来设置默认的Java版本。
例如,更改默认的Java版本,运行update-alternatives命令:

$ sudo update-alternatives --config java

确保输入要用作默认Java的版本号,然后按Enter键:

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

  Selection    Path                                         Priority   Status
-----------------------------------------------------------
* 0            /usr/lib/jvm/java-14-openjdk-amd64/bin/java   1411      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      manual mode
  2            /usr/lib/jvm/java-14-openjdk-amd64/bin/java   1411      manual mode

Press  to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/java to provide /usr/bin/java (java) in manual mode

我将版本更改为JDK11。
让我们打印默认版本:

$ java --version
openjdk 11.0.8 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

步骤4设置JAVA_HOME环境变量

使用bash的export命令的语法如下:

export JAVA_HOME=/path/to/openjdk

# For OpenJDK version 14 #

export JAVA_HOME=/usr/lib/jvm/java-14-openjdk-amd64

# For OpenJDK version 11 #

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

使用echo命令/printf命令显示设置:

echo $JAVA_HOME
printf "Java HOME PATH : %s\n" $JAVA_HOME

最后,更新环境变量配置文件并按如下所示设置JAVA_HOME:

$ sudo vim /etc/environment

## 或者

$ sudo nano /etc/environment

追加设置:

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

保存并关闭文件。

如何为单个用户设置JAVA_HOME

在/etc/environment文件中设置的JAVA_HOME适用于所有Linux用户。
但是,单个用户和应用程序可以使用~/.bash_profile或~/.bashrc覆盖JAVA_HOME和PATH设置。
例如,Linux用户可以将PATH设置追加到文件末尾,如下所示:

echo "export JAVA_HOME='/usr/lib/jvm/java-11-openjdk-amd64'" >> ~/.bashrc
echo "export PATH='$PATH:/usr/lib/jvm/java-11-openjdk-amd64/bin'" >> ~/.bashrc

步骤5通过编写Hello World程序来测试Java版本

使用文本编辑器(如vim/nano)创建一个名为HelloWorld.java的新文件:

$ vim HelloWorld.java

追加以下代码:

// Old good Hello World in Java:
// https://docs.oracle.com/javase/tutorial/getStarted/application/index.html
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
 
public class HelloWorld {
  public static void main(final String[] args) {
    final DateTimeFormatter dtf = DateTimeFormatter.ofPattern("h:mm:ss a 'on' MMMM d, yyyy'.'");
    final LocalDateTime now = LocalDateTime.now();
    System.out.println("Hello, World! The current time is " + dtf.format(now));
  }
}

运行:

java HelloWorld.java
Hello, World! The current time is 8:47:20 AM on September 12, 2020.