如何在Linux上自动设置JAVA_HOME环境变量

系统 Linux
我需要在我的 Linux 机器上编译 Java 程序。为此我已经安装了 JDK (Java Development Kit),而现在我正试图设置 JAVA_HOME 环境变量使其指向安装好的 JDK 。关于在 Linux 上设置 JAVA_HOME 环境变量,最受推崇的办法是什么?

问题:我需要在我的 Linux 机器上编译 Java 程序。为此我已经安装了 JDK (Java Development Kit),而现在我正试图设置 JAVA_HOME 环境变量使其指向安装好的 JDK 。关于在 Linux 上设置 JAVA_HOME 环境变量,最受推崇的办法是什么?

许多 Java 程序或基于 Java 的集成开发环境 (IDE)都需要设置好 JAVA_HOME 环境变量。该变量应指向 Java 开发工具包 (JDK)或Java 运行时环境 (JRE)的安装目录。JDK 不仅包含了 JRE 提供的一切,还带有用于编译 Java 程序的额外的二进制代码和库文件(例如编译器,调试器及 JavaDoc 文档生成器)。JDK 是用来构建 Java 程序的,如果只是运行已经构建好的 Java 程序,单独一份 JRE 就足够了。

当您正试图设置 JAVA_HOME 环境变量时,麻烦的事情在于 JAVA_HOME 变量需要根据以下几点而改变:(1) 您是否安装了 JDK 或 JRE;(2) 您安装了哪个版本;(3) 您安装的是 Oracle JDK 还是 Open JDK。

因此每当您的开发环境或运行时环境发生改变(例如为 JDK 更新版本)时,您需要根据实际情况调整 JAVA_HOME 变量,而这种做法是繁重且缺乏效率的。

以下 export 命令能为您自动设置 JAVA_HOME 环境变量,而无须顾及上述的因素。

如何在Linux上自动设置JAVA_HOME环境变量

若您安装的是 JRE:

  1. export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java)))) 

若您安装的是 JDK:

  1. export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac)))) 

根据您的情况,将上述命令中的一条写入 ~/.bashrc(或 /etc/profile)文件中,它就会***地设置好 JAVA_HOME 变量。

注意,由于 java 或 javac 可以建立起多个层次的符号链接,为此"readlink -f"命令是用来获取它们真正的执行路径的。

举个例子,假如您安装的是 Oracle JRE 7,那么上述的***条 export 命令将自动设置 JAVA_HOME 为:

  1. /usr/lib/jvm/java-7-oracle/jre 

若您安装的是 Open JDK 第8版,那么第二条 export 命令将设置 JAVA_HOME 为:

  1. /usr/lib/jvm/java-8-openjdk-amd64 

如何在Linux上自动设置JAVA_HOME环境变量

简而言之,这些 export 命令会在您重装/升级您的JDK/JRE,或更换默认 Java 版本时自动更新 JAVA_HOME 变量。您不再需要手动调整它。

via: http://ask.xmodulo.com/set-java_home-environment-variable-linux.html

责任编辑:蓝雨泪 来源: Linux中国
相关推荐

2021-11-05 15:10:28

UbuntuLinuxJAVA_HOME

2022-10-14 13:33:35

2009-07-07 12:48:29

JDK环境变量设置

2019-09-09 09:02:04

Linux脚本语言文本编辑器

2009-10-21 12:58:18

2009-06-15 16:28:30

JAVA环境变量

2021-03-04 23:11:59

环境变量Python

2020-08-17 07:38:47

Linux系统

2011-06-14 09:21:55

Linux Qt 环境变量

2010-09-16 15:44:12

Java环境变量

2009-06-16 15:57:53

Java环境变量

2012-09-18 01:22:33

Java环境变量Classpath

2011-05-31 13:41:50

Android 环境变量

2009-07-07 13:44:35

JDK环境变量设置

2015-09-06 16:30:24

Linux调整屏幕亮度

2019-05-30 10:20:10

Linux环境变量命令

2015-08-10 14:37:27

LinuxBash环境变量

2021-02-15 15:52:27

Linux环境变量命令

2020-08-05 09:48:20

Docker容器工具

2009-06-17 14:09:23

配置java home
点赞
收藏

51CTO技术栈公众号