在linux上安装jdk

无论您运行的是哪种操作系统,通常都有几种安装应用程序的方法。 有时,您可能会在应用商店中找到一个应用,或者使用Fedora上的DNF或Mac上的Brew的软件包管理器进行安装,有时,您可能会从网站上下载可执行文件或安装程序。 由于Java是这么多应用程序的流行后端,因此最好了解安装它的不同方式。 好消息是您有很多选择,本文涵盖了所有这些。

坏消息是Java 很大 ,而不是范围。 Java是一种开放源代码语言和规范,这意味着从理论上讲,任何人都可以创建它的实现。 这意味着,在安装任何内容之前,必须确定要安装的Java。

我需要JVM还是JRE或JDK?

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

Java开发工具包 (JDK)是一个开发工具包:您可以将其视为一个修修补补的工,他们可以在那里进行调整,修理和改进。 JDK包含Java运行时环境(JRE)。

在下载方面,这意味着:

  • 如果您是要运行Java应用程序的用户,则只需要JRE(包括JVM)。
  • 如果您是希望使用Java进行编程的开发人员,则需要JDK(包括JRE库,而JRE库又包括JVM)。

OpenJDK,IcedTea和OracleJDK之间有什么区别?

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

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

我应该安装哪个Java?

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

干扰分发您的应用 。 在IcedTea或OpenJDK上进行开发是最安全的。

从存储库安装OpenJDK

现在,您已经知道选择了什么,您可以使用软件包管理器搜索OpenJDK或IcedTea,然后安装所需的版本。 一些发行版使用关键字Latest来指示最新版本,这通常是您要运行的应用程序所需要的。 根据您使用的软件包管理器,您甚至可以考虑使用grep过滤搜索结果以仅包括最新版本。 例如,在Fedora上:

$ sudo dnf search openjdk | \
grep latest | 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 

如果您的发行版不使用最新标签,则可以使用另一个关键字,例如default 。 以下是在Debian上搜索OpenJDK的信息:

$ sudo apt search openjdk | less
default-jdk
Standard Java development kit

default-jre
Standard Java runtime

openjdk- 11 -jdk
OpenJDK development kit ( JDK )

[ ... ]


在这种情况下, default-jre软件包适用于用户, default-jdk适用于开发人员。

例如,要在Debian上安装JRE:

 $  sudo apt install default-jre 

现在已安装Java。

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

从互联网上安装Java

如果在存储库中找不到JRE或JDK,或者找不到满足您需求的JRE或JDK,则可以从互联网上下载开源Java软件包。 可以通过需要手动安装的tarball形式在openopenjdk.net上找到OpenJDK的下载,或者可以以tarball或可安装的RPM或DEB软件包的形式从Azul下载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

如果您没有访问系统级别的目录如/ usr / local,这需要sudo的权限,然后创建一个本地bin(对于“二进制”,而不是垃圾箱)或应用在自己的主文件夹的文件夹:

 $  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上,您可以使用本地安装方法(请参阅从TAR文件安装Java )或替代应用程序来解决此冲突。

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 & 

Java是一件好事

Java是少数将跨平台开发放在首位的编程环境之一。 没有什么比问一个应用程序是否在您的平台上运行,然后发现该应用程序是用Java编写要解放的了。 如此简单,无论您是开发人员还是用户,您都可以摆脱任何平台上的焦虑。 在桌面上拥抱Java应用程序,然后在所有桌面上运行它们。

翻译自: https://opensource.com/article/19/11/install-java-linux

在linux上安装jdk

在linux上安装jdk_如何在Linux上安装Java相关推荐

  1. linux fish颜色配置,如何在 Linux 中安装、配置和使用 Fish Shell?

    (给Linux爱好者加星标,提升Linux技能) 英文:Magesh Maruthamuthu,翻译:Linux中国/MK linux.cn/article-10622-1.html 每个 Linux ...

  2. linux查看图像大小_如何在Linux上调整一批图像的大小?

    linux查看图像大小 Resizing images on Linux with gThumb is easy. However, I have a batch of images inside a ...

  3. linux下安装sbt_如何在Linux上安装SBT

    linux下安装sbt 介绍 (Introduction) Hi! I am Sanjula, and in this guide I hope to teach you how to install ...

  4. 深度linux安装spotify,如何在 Linux 上使用 snap 安装 Spotify(声破天)

    如何在 Ubuntu Linux 桌面上安装 spotify 来在线听音乐? Spotify 是一个可让你访问大量歌曲的数字音乐流服务.你可以免费收听或者购买订阅,可以创建播放列表.订阅用户可以免广告 ...

  5. 如何在linux环境下安装kvm,如何在Linux发行版上安装和配置KVM和Open vSwitch?

    在如今多租户模式的数据中心环境下,虚拟化技术正从传统的基于虚拟机管理程序的服务器虚拟化,扩展到网络虚拟化.在这种环境下,基于软件的虚拟交换机通常连同虚拟机管理程序一起部署在服务器上,串联起了不同虚拟机 ...

  6. java安装_如何在 Mac 上安装 Java | Linux 中国

    macOS 用户可以运行 Java 的开源版本,以及用于云原生开发的新框架. 来源:https://linux.cn/article-12393-1.html 作者:Daniel Oh 译者:MCGA ...

  7. linux上安装osg_如何在 Linux 上安装并启用 Flatpak 支持? | Linux 中国

    Flatpak 提供了一种通用的包封装格式,可以在任何 Linux 发行版中使用.它提供了一个沙箱(隔离的)环境来运行应用程序,不会影响其他应用程序和发行版核心软件包.-- Magesh Maruth ...

  8. 制作ghost的linux系统安装方法,技术|如何在Linux平台上安装Ghost博客平台

    Ghost是一个相对较新的博客发布平台,它开始于众筹平台kickstarter上一个£25,000英镑的众筹项目.尽管WordPress依然是网上主流的博客工具,但它现在已然是一个拥有众多第三方开发功 ...

  9. linux+usb刻录,如何在Ubuntu上安装Etcher-开源USB刻录机工具

    如何在Ubuntu上安装Etcher-开源USB刻录机工具 Mark Do 2017年5月20日 暂无评论 阅读 4,988 次 Etcher是一款跨平台的USB镜像文件写入工具,在Windows.m ...

最新文章

  1. Matplotlib的几个典型绘制实验
  2. php 等5秒钟继续,android – 如何每5秒钟继续请求一个页面而不是杀死电池?
  3. wxWidgets:wxMenu类用法
  4. SCVMM 2012 R2运维管理十三之:将资源添加到VMM库
  5. Eikonal equation:程函方程
  6. matplotlib 无法显示中文字体的解决方法
  7. android强制停止运行,如何在android中单击强制停止时运行服务
  8. ASP.NET的属性绑定、表达式绑定、集合绑定、方法绑定、DropDownList集合绑定、DataList绑定、GridView绑定
  9. torch.backends.cudnn.enabled = False会引起CUDA out of memory和CUDA error: an illegal memory access was
  10. DrawText如何使多行文字居中
  11. 《微型计算机原理及应用》复习整理(针对考点)
  12. 16进制颜色透明度对照表
  13. LaTeX 编辑器对比
  14. IDEA打包jar包,以及exe应用程序。
  15. 风靡全球25年的重磅IP,新作沦为脚本乐园
  16. 知识图谱技术原理介绍
  17. MM买裤子杀价的全过程
  18. php 去掉转义引号的反斜杠,PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠...
  19. redis五种数据类型及使用场景
  20. Javaweb Form表单查询

热门文章

  1. database honeypot by design
  2. 华为云云手机,重新定义手机应用的开发和使用
  3. 刘东强的个性冒险经历
  4. cocos2dx的runAction: 重复执行,多个动作连接执行,多个动作同时执行的实现(lua的应用)
  5. 数组对象去重(vue)
  6. docker-entrypoint.sh 文件的用处
  7. 学习笔记-FRIDA脚本系列(三)
  8. 详细了解base64编码和解码
  9. 宝宝秀项目学习(五)
  10. 月饼门,郭德纲,价值观