Java已经成为开发人员的主要编程语言。实际上,Java是市场上最受欢迎的编程语言之一。造成这种情况的部分原因是Android。最初创建Java时,是在考虑网络的情况下进行的。Java还获得了业界主要参与者的支持。但是Java经受了时间的考验,并将在可预见的未来继续这样做。随着Java的持续发展,开发人员将继续依赖这种“编写一次,随处运行”的语言。
这并不意味着Java并非没有它的问题。这样的警告之一是该语言的多种版本仍在使用中。例如,尽管可以使用Java 11,但是许多程序仍然依赖Java 8。为什么会这样呢?Java 8是一个长期支持版本,这意味着它将在2030年之前得到支持。Java11也是一个LTS版本,直到2026年都将得到支持。最新版本Java 14于2020年3月发布,但是它并不是一个长期支持版本。因此,目前,开发人员和用户必须应对三种可行的Java版本。那么如何在Linux上使用Java的多个版本?让我们看一下如何在Linux上完成此操作。
在Linux上安装Java
假设您要在Ubuntu Linux上同时安装JDK 8和Java开发工具包11。您可以从命令行轻松地执行此操作。
打开一个终端窗口,并使用以下命令安装Java 8:
sudo apt-get install openjdk-8-jre-headless -y
Install Java 11 with the command:
sudo apt-get install openjdk-11-jre-headless -y
选择要使用的Java
问题是,当您安装Java 11时,它将导致系统自动默认为Java11。当您需要切换回使用Java 8时会发生什么?幸运的是,有一个工具可以让您选择默认值。该工具是更新替代品,当您安装了多个版本时,它允许您配置许多工具。
对于Java,如果同时安装了Java 8和11,则可以运行以下命令:
sudo update-alternatives --config java
将为您提供可用的选项(在本例中为Java 8和11)。要选择要设置为在系统上使用的选项的用户,请键入与要使用的版本关联的数字,然后按Enter。
在Ubuntu Linux上的Java 8和11之间进行选择。
任何时候您需要切换Java版本时,都运行相同的命令并选择要使用的版本。
如何设置JAVA_HOME环境变量
许多Java应用程序都依赖JAVA_HOME环境变量来设置Java安装的位置。要确定此位置在哪里,您首先必须重新运行update-alternatives命令,如下所示:
sudo update-alternatives --config java
该命令的输出不仅允许您选择要使用的Java版本,而且还包括该版本的路径。看一下上面的示例。您会看到:
Java 11路径为:
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
Java 8路径为:
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
复制您要使用的Java版本的路径,然后发出命令:
sudo nano /etc/environment
在文件底部,如下所示添加环境:
JAVA_HOME="PATH"
其中PATH是要用于JAVA_HOME环境变量的版本的路径。在我们的示例中,对于Java 11,该行为:
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64/bin/java"
For Java 8, that line would be:
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java"
进行更改后,保存并关闭文件。使用以下命令重新加载环境文件:
source /etc/environment
最后,使用以下命令验证路径是否已更改:
echo $JAVA_HOME
命令的输出应与您选择使用的Java版本的路径匹配。
在Linux上安装多少个Java版本都没有关系。只需稍加注意,您的Java开发就可以大大简化。使用多个版本的Java并不是挑战。通过几个简单的命令,您就可以控制环境。更多关于Linux的信息,请继续关注中培伟业。