网站首页 > 技术文章 正文
JAVA_HOME 是一个操作系统 (OS) 环境变量,可以在安装 Java Development Kit (JDK) 或 Java Runtime Environment (JRE) 后进行设置。JAVA_HOME 环境变量指向安装 JDK 或 JRE 的文件系统位置。此变量应在所有安装了 Java 的操作系统上配置,包括 Windows、Ubuntu、Linux、Mac 和 Android。
本地安装的 Java 运行时实际上并未使用 JAVA_HOME 环境变量。相反,安装在桌面计算机上的其他需要 Java 运行时的程序将在操作系统中查询 JAVA_HOME 变量以找出运行时的安装位置。找到 JDK 或 JRE 安装的位置后,这些程序可以启动基于 Java 的进程,启动 Java 虚拟机并使用命令行实用程序,例如 Java 存档实用程序或 Java 编译器,这两者都打包在 Java 安装的\bin 目录。
如何在 Windows 上设置 JAVA_HOME
用户可以通过“编辑系统变量”窗口中的管理选项在 Windows 上设置 JAVA_HOME。使用环境变量编辑器,用户可以添加一个名为 JAVA_HOME 的新系统变量,并为其分配 JDK 安装目录位置的值。
如何找到 JAVA_HOME
对于用户来说,轻松找到 JAVA_HOME 值并验证它是否设置正确非常重要。找到 JAVA_HOME 的一种方法是打开环境变量编辑器并查看其分配的值。另一种选择是在命令窗口中回显 JAVA_HOME。
启动时获取 JAVA_HOME 的程序
任何 Java 编写的程序都需要一个基于 Java 的环境才能运行。需要正确配置 JAVA_HOME 变量的程序包括:
Eclipse、NetBeans 和 Android Studio
Apache Tomcat 和 WebSphere Portal
JProfiler 和 Java 任务控制
Maven 和 ANT
Gradle 和 Groovy
Jenkins 和 Hudson CI 工具
exe4j
甚至像 Minecraft、SimCity 和某些版本的视频游戏也需要配置 JAVA_HOME。
常见的 JAVA_HOME 错误
如果任何需要 Java 运行时的程序在启动时找不到 JAVA_HOME 环境变量,或者 JAVA_HOME 环境变量配置错误,则会导致显示以下一些错误消息:
存在 Java 安装,但 JAVA_HOME 设置不正确
JAVA_HOME 设置为无效目录
JAVA_HOME 未正确定义
未设置 JAVA_HOME 环境变量
找不到 JAVA_HOME 命令
在你的环境中找不到 JAVA_HOME
JAVA_HOME 不指向 JDK
一旦用户确认 JAVA_HOME 变量确实已设置并且变量已被分配了正确的值,这些问题中的大部分都可以解决。
JAVA_HOME 与 JRE_HOME
Java 运行时环境可以通过以下两种方式之一安装在计算机上。第一种方法是下载并安装 JRE,它是一个 Java 运行时环境,仅此而已。第二种方法是下载并安装 JDK,它提供了 Java 运行时以及各种辅助软件开发的工具。一些程序只需要 JRE 即可运行,而另一些程序则需要完整的 JDK。只需要 JRE 的程序通常会查找指向 JRE 安装的 JRE_HOME,而不是查找应指向 JDK 安装的 JAVA_HOME。
JAVA_HOME 与 PATH 变量
除了 JAVA_HOME 的配置,同时更新操作系统的 PATH 变量也很有用。使用 PATH,可以添加 Java 安装的 \bin 目录,这使得打包在 JDK 或 JRE 中的所有各种 Java 实用程序都可以在命令行的任何位置使用。因此,如果程序找不到 JAVA_HOME 变量,它可能仍然能够通过查看哪些实用程序已通过 PATH 可用来访问 Java 运行时工具。
猜你喜欢
- 2024-11-05 centos7手工搭建部署Java web 环境(jdk、tomcat)
- 2024-11-05 linux安装jdk教程(linux安装jdk1.8步骤)
- 2024-11-05 Java环境快速搭建(javaee环境搭建)
- 2024-11-05 Linux入门指南-搭建JAVAEE开发环境
- 2024-11-05 干 java 开发3年了,你还不知道 Linux 中有三种方式安装 JDK?
- 2024-11-05 linux 安装基础软件-jdk-mysql-tomcat
- 2024-11-05 Linux下JDK到底应该安装在哪儿?(linuxjdk安装路径)
- 2024-11-05 构建高可用ZooKeeper集群(高可用集群搭建详细步骤)
- 2024-11-05 Linux上安装jdk Tomcat mysql redis等教程
- 2024-11-05 Java开发必会的Linux命令(java开发用什么linux)
- 最近发表
-
- 使用Knative部署基于Spring Native的微服务
- 阿里p7大佬首次分享Spring Cloud学习笔记,带你从0搭建微服务
- ElasticSearch进阶篇之搞定在SpringBoot项目中的实战应用
- SpringCloud微服务架构实战:类目管理微服务开发
- SpringBoot+SpringCloud题目整理
- 《github精选系列》——SpringBoot 全家桶
- Springboot2.0学习2 超详细创建restful服务步骤
- SpringCloud系列:多模块聚合工程基本环境搭建「1」
- Spring Cloud Consul快速入门Demo
- Spring Cloud Contract快速入门Demo
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)