如何在 Ubuntu Linux 中正确地设置 JAVA_HOME 变量

在这篇初学者教程中,我将向你展示在 Ubuntu 上正确地设置 JAVA_HOME 变量的步骤。这些步骤应该也适用于大多数的其它的 Linux 发行版。 2021-11-05 15:10:28 UbuntuLinuxJAVA_HOME 鸿蒙轻内核A核源码分析系列三物理内存之一 从本篇开始,我们分析下鸿蒙轻内核A核的内存管理部分,包括物理内存、虚拟内存、虚拟映射等部分。物理内存(Physical memory)是指通过物理内存条而获得的内存空间,相对应的概念是虚拟内存(Virtual memory)。 2021-11-05 15:00:33 鸿蒙HarmonyOS应用 简单几步把Spring Boot 项目部署到 K8S,步骤来了! 在Kubernetes中部署spring boot应用整体上来说是一件比较繁琐的事情,而Spring Boot Operator则能带给你更清爽简单的体验。 2021-11-05 13:35:35 Spring BooK8SJava 被鄙视了,把Python当“弱”类型语言 Python 想必大家都已经很熟悉了,甚至关于它有用或者无用的论点大家可能也已经看腻了。但是无论如何,它作为一个将加入高考科目的语言还是有它独到之处的,今天我们就再展开聊聊 Python。 2021-11-05 12:40:43 Python类型语言代码 老师又问我 MyBatis 了 MyBatis(前身是iBatis)是一个支持普通SQL查询、存储过程以及高级映射的持久层框架。 2021-11-05 11:10:13 MyBatisSQL查询 Go Generate 完全指南,你会吗? 开发人员有很强的自动化重复性任务的倾向,这也适用于编写代码。因此,元编程(metaprogramming)的主题是一个开发和研究的热门领域,可以追溯到 1960 年代的 Lisp。 2021-11-05 10:59:06 元编程语言工具 这才是 React Hooks 性能优化的正确姿势 React Hooks 出来很长一段时间了,相信有不少的朋友已经深度使用了。无论是 React 本身,还是其生态中,都在摸索着进步。 2021-11-05 10:36:19 性能优化实践 庖丁解 InnoDB 之 Redolog 为了取得更好的读写性能,InnoDB会将数据缓存在内存中(InnoDB Buffer Pool),对磁盘数据的修改也会落后于内存,这时如果进程或机器崩溃,会导致内存数据丢失,为了保证数据库本身的一致性和持久性,InnoDB维护了REDO LOG。 2021-11-05 10:07:40 InnoDB磁盘Redolog HarmonyOS基于LYEVK-3861开发火焰报警系统 本文内容主要讲述基于LYEVK-3861物联网开发板套件的火焰传感器,开发一个具有火焰感应报警功能的HarmonyOS应用,主要实现蓝牙设备扫描,连接,检测火焰,设置报警阈值。 2021-11-05 09:58:58 鸿蒙HarmonyOS应用 分享一道用Python基础+蒙特卡洛算法实现排列组合的题目(附源码) 本文基于粉丝针对排列组合问题的提问,给出了一个利用Python基础+蒙特卡洛算法的解决方案,基本上可以达到了粉丝的要求。 2021-11-05 09:01:15 Python算法Python基础 Selenium WebDriver自动化测试的十大优秀实践 译文 本文将和您讨论Selenium WebDriver API是如何使用浏览器驱动,与真实浏览器相交互,以及在Selenium自动化测试中的十种优秀实践。 2021-11-05 09:00:00 Selenium工具自动化测试 工作几年了,原来我只用了数据校验的皮毛 不知不觉Spring Boot专栏文章已经写到第十四章了,无论写的好与不好,作者都在尽力写的详细,写的与其它的文章不同,每一章都不是浅尝辄止。 2021-11-05 08:29:13 数据校验Spring 聊聊 HashMap 中的一个“坑”! 本文演示了 HashMap 作为返回类型时隐藏的一个小“坑”,因为 HashMap 本身是无序的,所以它会导致查询顺序和插入顺序不一致的问题。 2021-11-05 07:59:25 HashMapJava知识总结 面试官:说说你对代理模式的理解?应用场景? 代理模式的关键是,当客户不方便直接访问一个对象或者不满足需要时,提供一个替身对象来控制这个对象的访问,客户实际上访问的是替身对象。 2021-11-05 07:47:56 代理模式对象 还在用new Date计算任务执行时间?强烈建议使用这个API! 在实践过程中,我们经常需要记录一个任务执行的耗时,这是评价代码好坏,评测代码性能,排查业务执行问题的重要操作。那么,你是如何来获取并计算任务执行耗时的呢?通过new Date获得时间进行换算?还是有更好的方案?

在这篇初学者教程中,我将向你展示在 Ubuntu 上正确地设置 JAVA_HOME 变量的步骤。这些步骤应该也适用于大多数的其它的 Linux 发行版。

[[433554]]

如果你在 Ubuntu 上运行 Java 程序,使用 Eclipse、Maven或 Netbeans 等等,你将需要将JAVA_HOME环境变量设置为正确的路径。否则,你的系统将会向你控诉 “java_home 环境变量没有设置”。

在这篇初学者教程中,我将向你展示在 Ubuntu 上正确地设置JAVA_HOME变量的步骤。这些步骤应该也适用于大多数的其它的 Linux 发行版。

设置过程包含这些步骤:

  • 确保已安装 Java 开发工具包(JDK)。
  • 查找 JDK 可执行文件的正确的位置。
  • 设置JAVA_HOME环境变量,并永久更改它。

步骤 1: 核查 JDK 是否已经安装

核查 Java 开发工具包(JDK)是否已经安装在你的 Linux 系统上的最简单的方法是运行这个命令:

  1. javac --version

上面的命令将核查 Java 编译器的版本。如果已经安装了 Java 编译器,它将显示 Java 版本:

如何在 Ubuntu Linux 中正确地设置 JAVA_HOME 变量

Java Compiler is installed

如果上面的命令显示像这样未找到javac命令的错误信息,你得先安装 JDK :

如何在 Ubuntu Linux 中正确地设置 JAVA_HOME 变量

Java Compiler is not installed

如果在你的系统上并没有安装 Java 编译器,使用这条命令来安装 Java 开发工具包 (JDK):

  1. sudo apt install default-jdk

这将在你当前的 Ubuntu 版本中安装默认的 Java 版本。如果你需要一些其它版本的 Java 版本,那么你必须在 Ubuntu 中安装 Java 时具体指出它的版本。

在你确保 Java 编译器存在于你的系统之中后,接下来就到了查找其位置的时候了。

步骤 2: 获取 JDK 可执行文件(Java 编译器)的位置

可执行文件通常位于/usr/lib/jvm目录之中。但我不会让你来玩一个猜谜游戏,让我们来找出 Java 可执行文件的路径。

使用 which 命令来获取 Java 编译器可执行文件的位置:

  1. which javac

在这里的问题是,它给出的位置实际上是一个符号链接。你将需要按照下图执行几次:

如何在 Ubuntu Linux 中正确地设置 JAVA_HOME 变量

最简单的方法是直接使用下面这条命令跟随符号链接来以获取实际的可执行文件:

  1. readlink -f `which java`

readlink命令会跟随一个符号链接。我在which java的外侧使用readlink将会使用which java的输出来替换要检查的符号链接,这被称之为命令替换。因此,在这个实例中,上面的命令大体上相当于readlink -f /usr/bin/java

在我的示例中,可执行文件的位置是/usr/lib/jvm/java-11-openjdk-amd64/bin/java。对你来说可能会不一样。在你的系统中,复制上述命令所获取的正确的路径。你知道,你可以在 Ubuntu 的终端中复制和粘贴

步骤 3: 设置 JAVA_HOME 变量

现在,你已经获取了位置,使用它来设置JAVA_HOME环境变量:

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

核查JAVA_HOME目录的值:

  1. echo $JAVA_HOME

如何在 Ubuntu Linux 中正确地设置 JAVA_HOME 变量

尝试在同一个终端中运行你的 Java 程序或工程,并查看它是否工作。

这尚未结束。你刚刚声明的JAVA_HOME环境变量是临时的。如果你关闭这个终端或开始一个新的会话,它将会再次变成空的。

为了“永久地”设置JAVA_HOME变量,你应该将其添加到你的家目录中的.bashrc文件中。

你可以在 Linux 终端中使用 Nano 编辑器来编辑文件。 如果你不想使用它,并想采取一种简单的复制和粘贴的方法,使用下面的命令:

首先备份你的.bashrc文件(以防万一你把它弄坏了,你还可以将其再恢复回来):

  1. cp ~/.bashrc ~/.bashrc.bak

接下来,使用 echo 命令来追加在这一节开头使用的export命令。你应该适当地更改下面的命令,以便其正确地使用你的系统所显示的路径

  1. echo "export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/bin/java" >> ~/.bashrc

验证它已经被正确地添加到文件的结尾处:

  1. tail -3 ~/.bashrc

上面的tail 命令将显示所具体指定文件的最后 3 行。

这里是上面的三个命令的全部的输出:

如何在 Ubuntu Linux 中正确地设置 JAVA_HOME 变量

现在,即使你退出会话或重新启动系统,JAVA_HOME环境变量都仍将设置为你所具体指定的值。这就是你所想要的,对吧?

注意,如果你将来更改默认的 Java 版本,你将需要更改JAVA_HOME环境变量的值并将其指向正确的可执行文件的路径。

我希望这篇教程不仅会帮助你设置JAVA_HOME环境变量,也会教会你如何完成这项工作。

©本文为清一色官方代发,观点仅代表作者本人,与清一色无关。清一色对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文不作为投资理财建议,请读者仅作参考,并请自行承担全部责任。文中部分文字/图片/视频/音频等来源于网络,如侵犯到著作权人的权利,请与我们联系(微信/QQ:1074760229)。转载请注明出处:清一色财经

(0)
打赏 微信扫码打赏 微信扫码打赏 支付宝扫码打赏 支付宝扫码打赏
清一色的头像清一色管理团队
上一篇 2023年5月5日 18:34
下一篇 2023年5月5日 18:36

相关推荐

发表评论

登录后才能评论

联系我们

在线咨询:1643011589-QQbutton

手机:13798586780

QQ/微信:1074760229

QQ群:551893940

工作时间:工作日9:00-18:00,节假日休息

关注微信