专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Linux安装Java环境的方法

Linux安装Java环境的方法

更新时间:2022-05-06 10:54:44 来源:动力节点 浏览1415次

无论您运行的是什么操作系统,通常都有多种安装应用程序的方法。有时您可能会在应用商店中找到应用程序,或者您可能会使用包管理器(如 Fedora 上的 DNF 或 Mac 上的 Brew)安装它,而其他时候,您可能会从网站下载可执行文件或安装程序。因为 Java 是许多应用程序的流行后端,所以了解安装它的不同方式是件好事。好消息是您有很多选择,本文涵盖了所有选择。

坏消息是 Java很大,在规模上不如在范围上。Java 是一种开源语言和规范,这意味着理论上任何人都可以创建它的实现。这意味着,在您安装任何东西之前,您必须决定要安装哪个 Java。

需要 JVM、JRE 还是 JDK?

Java 大致分为两个可下载的类别。Java 虚拟机( JVM) 是一个运行时组件;它是使 Java 应用程序能够在您的计算机上启动和运行的“引擎”。它包含在 Java 运行时环境 (JRE) 中。

Java 开发工具包(JDK) 是一个开发工具包:您可以将其视为一个车库,修补匠们坐在那里进行调整、维修和改进。JDK 包括 Java 运行时环境 (JRE)。

就下载而言,这转化为:

如果您是希望运行 Java 应用程序的用户,则只需要 JRE(包括 JVM)。

如果您是一名希望使用 Java 编程的开发人员,则需要 JDK(其中包括 JRE 库,而后者又包括 JVM)。

OpenJDK、IcedTea 和 OracleJDK 有什么区别?

当 Sun Microsystems 被甲骨文收购时,Java 是销售的主要部分。幸运的是,Java 是一种开源技术,因此如果您对 Oracle 维护项目的方式不满意,您还有其他选择。Oracle 将专有组件与其 Java 下载捆绑在一起,而 OpenJDK 项目是完全开源的。

IcedTea 项目本质上是 OpenJDK,但它的目标是让用户在使用完全免费和开源的工具时更容易构建和部署 OpenJDK。

应该安装哪个 Java?

如果您对这些选择感到不知所措,那么您应该安装哪个 Java 实现的简单答案就是您最容易安装的那个。当应用程序告诉您需要 Java 12,但您的存储库只有 Java 8 时,可以安装您可以从可靠来源找到的任何 Java 12 实现。在 Linux 上,您可以同时安装多个不同版本的 Java,并且它们不会相互干扰。

如果您是需要做出选择的开发人员,那么您应该考虑需要哪些组件。如果您选择 Oracle 的版本,请注意软件包中有专有插件和字体,这可能会干扰您的应用程序的分发。在 IcedTea 或 OpenJDK 上开发是最安全的。

从存储库安装 OpenJDK

既然您知道您的选择,您可以使用您的包管理器搜索 OpenJDK 或 IcedTea 并安装您需要的版本。某些发行版使用关键字latest来表示最新版本,这通常是运行您尝试运行的任何应用程序所需要的。根据您使用的包管理器,您甚至可以考虑使用grep过滤搜索结果以仅包含最新版本。例如,在 Fedora 上:

$ sudo dnf 搜索 openjdk | \
grep最新| cut -f1 -d ':'
java-latest-openjdk-demo.x86_64
java-openjdk.i686
java-openjdk.x86_64
java-latest-openjdk-jmods.x86_64
java-latest-openjdk-src.x86_64
java-latest-openjdk .x86_64
[ ... ]

只有当您尝试运行的应用程序坚持认为您需要 Java 的旧版本时,您才应该查看最新版本。

在 Fedora 或类似设备上安装 Java:

$ sudo dnf install java-latest-openjdk

如果您的发行版不使用latest标签,它可能会使用另一个关键字,例如default。这是在 Debian 上搜索 OpenJDK:

$ sudo apt 搜索 openjdk | less
default-jdk
  标准 Java 开发工具包
default-jre
  标准 Java 运行时
openjdk- 11 -jdk
  OpenJDK 开发工具包( JDK )
[ ... ]

在这种情况下,default-jre包适合用户,而default-jdk适合开发者。

例如,要在 Debian 上安装 JRE:

$ sudo apt install default-jre

现在已安装 Java。

您的存储库中可能有许多与 Java 相关的包。在 OpenJDK 上搜索,如果您是用户,则查找最新的 JRE 或 JVM;如果您是开发人员,则查找最新的 JDK。

从 Internet 安装 Java

如果您在存储库中找不到 JRE 或 JDK,或者您找到的不符合您的需求,您可以从 Internet 下载开源 Java 包。您可以在adoptopenjdk.net上找到需要手动安装的tarball 形式的OpenJDK 下载,或者您可以 从Azul 以tarball 或可安装的RPM 或DEB 包的形式下载Zulu 社区版。

从 TAR 文件安装 Java

如果从 Java.net 或 Azul 下载 TAR 文件,则必须手动安装它。这通常称为“本地”安装,因为您没有将 Java 安装到“全局”位置。相反,您可以在 PATH 中选择一个方便的位置。

如果您不知道 PATH 中的内容,请查看以下内容:

$ echo $PATH
/ usr / local / bin: / usr / local / sbin: / usr / bin: / usr / sbin: / home / seth / bin

在此示例 PATH 中,位置/usr/local/bin和/home/seth/bin是不错的选择。如果您是您计算机上的唯一用户,那么您自己的主目录是有意义的。如果您的计算机上有很多用户,那么一个公共位置(例如/usr/local或/opt)是最佳选择。

如果您无权访问需要sudo权限的/usr/local等系统级目录,则在您自己的主文件夹中创建一个本地bin(用于“二进制”,而不是垃圾箱)或Applications文件夹:

$ mkdir ~/bin

将此添加到您的 PATH,如果它不存在:

$ echo PATH = $PATH : $HOME / bin >> ~ / .bashrc
$ source ~ / .bashrc

最后,将 tarball 解压缩到您选择的目录中。

$ tar --extract --file openjdk * linux-x64_bin.tar.gz \
--directory = $HOME / bin

现在已安装 Java。

从 RPM 或 DEB 安装 Java

如果从 Azul.com 下载 RPM 或 DEB 文件,则可以使用包管理器进行安装。

对于 Fedora、CentOS、RHEL 等,请下载 RPM 并使用 DNF 安装:

$ sudo dnf install zulu*linux.x86_64.rpm

对于 Debian、Ubuntu、Pop_OS 和类似的发行版,下载 DEB 包并使用 Apt 安装:

$ sudo dpkg -i zulu*linux_amd64.deb

现在已安装 Java。

使用备选方案设置 Java 版本

有些应用程序是为特定版本的 Java 开发的,不能与任何其他版本一起使用。这种情况很少见,但确实会发生,在 Linux 上,您可以使用本地安装方法或替代应用程序来处理此冲突。

Alternatives命令查看安装在 Linux 系统上的应用程序,并让您选择要使用的版本。某些发行版,例如 Slackware,不提供替代命令,因此您必须改用本地安装方法。在 Fedora、CentOS 和类似的发行版上,命令是alternatives。在 Debian、Ubuntu 和类似系统上,命令是update-alternatives。

要获取当前安装在 Fedora 系统上的应用程序的可用版本列表:

$ alternatives --list

在 Debian 上,您必须指定您想要替代的应用程序:

$ update-alternatives --list java

要选择您希望在 Fedora 上将系统设为默认的版本:

$ sudo alternatives --config java

在 Debian 上:

$ sudo updates-alternatives --config java

您可以根据要运行的应用程序根据需要更改默认 Java 版本。

运行 Java 应用程序

Java 应用程序通常作为 JAR 文件分发。根据您安装 Java 的方式,您的系统可能已经配置为运行 Java 应用程序,这使您只需双击应用程序图标(或从应用程序菜单中选择它)即可运行它。如果您必须进行未与系统其余部分集成的本地 Java 安装,则可以直接从终端启动 Java 应用程序:

$ java -jar ~/bin/example.jar &

以上就是关于“Linux安装Java环境的方法”介绍,大家如果想了解更多相关知识,不妨来关注一下动力节点的Java在线学习,里面的课程内容从入门到精通,细致全面,通俗易懂,适合没有基础的朋友学习,希望对大家能够有所帮助。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>