在Java中如何安装JRE并配置环境_Java运行环境配置解析

发布时间 - 2026-01-27 00:00:00    点击率:
JDK 是运行和开发 Java 应用的必备环境,必须正确配置 JAVA_HOME 指向 JDK 根目录且 PATH 包含 %JAVA_HOME%\bin(Windows)或 $JAVA_HOME/bin(Linux/macOS),否则会出现命令未找到或类加载失败;验证需执行 java -version、javac -version 和 echo 命令确认版本与路径一致。

Java 运行环境(JRE)本身不需“安装”来运行已编译的 .jar.class 文件,但实际开发和运行中,你真正需要的是 JDK(含 JRE),且必须正确配置 JAVA_HOMEPATH——否则 javajavac 命令会报“command not found”或“找不到或无法加载主类”。

为什么装了 JDK 还提示 java 不是内部或外部命令

常见原因是系统没把 JDK 的 bin 目录加进 PATH,或者 JAVA_HOME 指向了错误路径(比如指向 JRE 目录而非 JDK 根目录)。

  • JAVA_HOME 必须设为 JDK 安装根目录(如 C:\Program Files\Java\jdk-17.0.1/usr/lib/jvm/jdk-17.0.1),不能是 jdk-17.0.1\jrejdk-17.0.1\bin
  • PATH 中需包含 %JAVA_HOME%\bin(Windows)或 $JAVA_HOME/bin(Linux/macOS),且该条目要放在其他 Java 相关路径之前,避免旧版本干扰
  • 设置后必须新开终端生效;IDE(如 IntelliJ)可能还需重启或手动刷新 SDK 配置

如何验证 JDK 是否装对、环境变量是否生效

别只信安装程序的“完成”弹窗。打开终端执行以下三步,缺一不可:

java -version
javac -version
echo $JAVA_HOME  # Linux/macOS
echo %JAVA_HOME%  # Windows

理想输出应显示相同版本号(如 17.0.1),且 JAVA_HOME 路径与 java -XshowSettings:properties -version 2>&1 | grep java.home 输出一致。若 javac 报错而 java 正常,说明你装的是 JRE 而非 JDK。

Windows 下 PATH 和 JAVA_HOME 设置实操要点

图形界面设置易出错:系统变量和用户变量混用、路径含空格未加引号、复制时带隐藏字符等。

  • 推荐使用命令行一次性设置(管理员权限运行 PowerShell):
    [System.Environment]::SetEnvironmentVariable('JAVA_HOME', 'C:\Program Files\Java\jdk-17.0.1', 'Machine')
    [System.Environment]::SetEnvironmentVariable('PATH', "$env:PATH;`%JAVA_HOME`%\bin", 'Machine')
  • 路径中含空格(如 Program Files)无需引号,但变量引用必须用 %JAVA_HOME%\bin,不能写成 "%JAVA_HOME%\bin"
  • 设置完务必在新 cmd/PowerShell 中运行 where java,确认返回的是 JDK\bin\java.exe,而非 Windows\System32\java.exe(那是 Windows 自带的旧版)

macOS/Linux 使用 sdkman 管理多 JDK 版本更可靠

手动改 /etc/profile~/.zshrc 容易冲突,尤其当你需要同时用 Java 8(Spring Boot 2.x)和 Java 17(Spring Boot 3.x)时。

  • 安装

    sdkman:
    curl -s "https://get.sdkman.io" | bash
    source "$HOME/.sdkman/bin/sdkman-init.sh"
  • 列出可用版本:sdk list java,安装指定版本:sdk install java 17.0.1-tem
  • 切换默认版本:sdk default java 17.0.1-tem,它会自动更新 JAVA_HOMEPATH
  • 注意:sdk default 只影响当前 shell;若希望全局生效,确保 source 命令已写入 ~/.zshrc

最常被忽略的一点:很多教程让你下载 “JRE” 安装包,但自 JDK 9 起,Oracle 已停止单独发布 JRE;OpenJDK 社区也不再提供独立 JRE 构建。你现在能合法获取并安全使用的,只有 JDK——它自带 JRE,且 java 命令就来自其中的 bin 目录。别再找“JRE 安装包”了。


# oracle  # linux  # java  # windows  # mac  # curl  # macos  # 环境变量  # win  # 环境配置  # cos 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  Python结构化数据采集_字段抽取解析【教程】  开心动漫网站制作软件下载,十分开心动画为何停播?  如何在阿里云完成域名注册与建站?  Laravel怎么使用Intervention Image库处理图片上传和缩放  韩国服务器如何优化跨境访问实现高效连接?  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  教学论文网站制作软件有哪些,写论文用什么软件 ?  香港服务器租用每月最低只需15元?  如何用美橙互联一键搭建多站合一网站?  php结合redis实现高并发下的抢购、秒杀功能的实例  LinuxShell函数封装方法_脚本复用设计思路【教程】  JavaScript如何实现类型判断_typeof和instanceof有什么区别  如何在局域网内绑定自建网站域名?  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知  如何快速搭建二级域名独立网站?  Swift中循环语句中的转移语句 break 和 continue  简历在线制作网站免费版,如何创建个人简历?  微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  如何快速建站并高效导出源代码?  Laravel中的withCount方法怎么高效统计关联模型数量  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  想要更高端的建设网站,这些原则一定要坚持!  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  中山网站制作网页,中山新生登记系统登记流程?  Laravel如何使用Sanctum进行API认证?(SPA实战)  如何用西部建站助手快速创建专业网站?  用yum安装MySQLdb模块的步骤方法  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  简单实现jsp分页  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  iOS中将个别页面强制横屏其他页面竖屏  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  JavaScript如何实现继承_有哪些常用方法  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  Laravel PHP版本要求一览_Laravel各版本环境要求对照  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  Laravel如何自定义错误页面(404, 500)?(代码示例)  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比