在Java里JDK和JRE应该如何选择_Java运行环境区别解析-java教程

只需安装JDK即可,因JRE已集成其中;Java 11起Oracle停供独立JRE,OpenJDK版本亦不提供;Java 9+用jlink定制运行时替代传统JRE。

开发用 JDK,运行用 JRE —— 但绝大多数情况下,你只需要装 JDK 就够了,JRE 已经被 JDK 包含,且从 Java 11 起 Oracle 官方不再单独提供 Windows/macOS 的 JRE 下载。

为什么现在基本不用单独装 JRE

Java 11 是分水岭:Oracle 停止为桌面端发布独立 JRE 安装包;OpenJDK 社区版本(如 Temurin、Zulu)也默认不提供 JRE 构建。所谓“JRE”,实际是 JDK 中的 jre 子目录(Java 8 及以前)或更轻量的 jlink 自定义运行时(Java 9+)。

  • Java 8:JDK 安装后自带 JAVA_HOME/jre/ 目录,可直接当 JRE 用
  • Java 9+:JDK 不再附带 jre 文件夹,但可通过 jlink 工具按需生成最小化运行时,例如:
    jlink --module-path $JAVA_HOME/jmods --add-modules java.base,java.desktop --output myjre
  • 部署场景中若真需要精简运行环境,应优先用 jlink 生成定制镜像,而不是找“JRE 安装包”——后者早已过时或不可信

JDK 和 JRE 在 PATH 和 JAVA_HOME 上怎么配

JAVA_HOME 必须指向 JDK 根目录(如 C:\Program Files\Java\jdk-17.0.2),不能指向其下的 jre 子目录(Java 8 兼容写法)或任意 runtime 目录;否则 javac 会报错“command not found”或 tools.jar 找不到。

  • PATH 中应包含 $JAVA_HOME/bin,这样 java、javac、jlink 等命令才可用
  • 不要把 JAVA_HOME 设成 C:\...\jdk-17.0.2\jre —— 这在 Java 9+ 根本不存在,在 Java 8 下会导致 javac 失效
  • 验证方式:
    echo $JAVA_HOME  # Linux/macOS
    java -version
    javac -version

    两个 version 输出一致且不报错,说明配置正确

运行 Java 程序时,到底用的是哪个“Java”

真正决定运行行为的是启动命令调用的 java 可执行文件路径,而非 JAVA_HOME —— 后者只是开发工具链(如 Maven、IDEA)用来定位 javac 或 tools.jar 的辅助变量。

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » 在Java里JDK和JRE应该如何选择_Java运行环境区别解析-java教程
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4028695+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4028695+
  • 本周更新: 0+
  • 最后更新: 2026-03-16