帮助中心 >  技术知识库 >  数据库 >  相关技术支持 >  如何在 Linux 上自动设置 JAVA_HOME 环境变量

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

2016-02-15 17:22:43 5180

    许多 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 环境变量,而无须顾及上述的因素。

(1)若安装的是jre

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

(2)若安装的是jdk

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

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

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

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

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

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

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

提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: