Java 答疑:JDK 11(Java 11)之后没有 JRE 目录,环境用户变量配置的解决方法

简介: Java 答疑:JDK 11(Java 11)之后没有 JRE 目录,环境用户变量配置的解决方法

文章目录


前言

我们之前的 JDK 1.8 版本乃至以下版本压缩包下载解压后直接运行会生成 JDK、JRE 两个目录文件,但从 Java 11 之后,只有 JDK 目录文件生成,没有单独的 JRE 目录文件,这时有需要的同学就可以通过命令行的方式手动生成 JRE。

image.png


一、JDK 11(Java 11)之后 JRE 说明

在 JDK 11(Java 11)之后 JRE 是集成在 JDK 之中的,无需我们额外进行环境变量配置,仅需配置 JDK 的 JAVA_HOME 与 Path 变量即可

  • JAVA_HOME 变量指向 JDK 根目录,即 bin 目录上一级。
  • PATH 变量指向 JDK 的 bin 目录。

如果切实需要 JRE 的同学或者是了解如何生成 JRE 目录的同学可以参考本文内容。

二、选择自己需要的 JDK 版本

白鹿为大家提供 JDK 1.8 官网直达下载,地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,具体如下图所示:

image.png

白鹿为大家提供 JDK 13 官网直达下载,地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk13-downloads-5672538.html,具体如下图所示:

image.png

三、对下载的 JDK 进行解压

解压 jdk-13_windows-x64_bin,生成 JDK 目录,这是可以看到没有生成 JRE 目录,具体如下图所示:

image.png

四、执行 Dos 命令生成 JRE

打开命令窗口,管理员权限运行,切换到 JDK 安装目录,执行如下命令:

bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre

具体如下图所示:

image.png

这时我们可以看到,生成了 JRE 文档目录,具体如下图所示:

image.png

说明:其他配置与之前版本相同。查看本地安装的 Java 版本如下图所示:

image.png


总结

本文给大家介绍了如何在 JDK 13 等高版本 JDK 中生成 JRE。希望大家也在此记住 JDK 和 JRE 的明确区别,这也是以后 Java 面试最基础的面试题,同时熟悉基本 Dos 命令的运用。

image.png


我是白鹿,一个不懈奋斗的程序猿。望本文能对你有所裨益,欢迎大家的一键三连!若有其他问题、建议或者补充可以留言在文章下方,感谢大家的支持!



相关文章
|
2月前
|
存储 缓存 安全
除了变量,final还能修饰哪些Java元素
在Java中,final关键字不仅可以修饰变量,还可以用于修饰类、方法和参数。修饰类时,该类不能被继承;修饰方法时,方法不能被重写;修饰参数时,参数在方法体内不能被修改。
33 2
|
2月前
|
安全 Java 编译器
JDK 10中的局部变量类型推断:Java编程的简化与革新
JDK 10引入的局部变量类型推断通过`var`关键字简化了代码编写,提高了可读性。编译器根据初始化表达式自动推断变量类型,减少了冗长的类型声明。虽然带来了诸多优点,但也有一些限制,如只能用于局部变量声明,并需立即初始化。这一特性使Java更接近动态类型语言,增强了灵活性和易用性。
116 53
|
2月前
|
Java 编译器
Java重复定义变量详解
这段对话讨论了Java中变量作用域和重复定义的问题。学生提问为何不能重复定义变量导致编译错误,老师通过多个示例解释了编译器如何区分不同作用域内的变量,包括局部变量、成员变量和静态变量,并说明了使用`this`关键字和类名来区分变量的方法。最终,学生理解了编译器在逻辑层面检查变量定义的问题。
Java重复定义变量详解
|
2月前
|
Oracle 安全 Java
深入理解Java生态:JDK与JVM的区分与协作
Java作为一种广泛使用的编程语言,其生态中有两个核心组件:JDK(Java Development Kit)和JVM(Java Virtual Machine)。本文将深入探讨这两个组件的区别、联系以及它们在Java开发和运行中的作用。
93 1
|
2月前
|
IDE Java 编译器
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
85 1
|
2月前
|
Java 程序员 容器
Java中的变量和常量:数据的‘小盒子’和‘铁盒子’有啥不一样?
在Java中,变量是一个可以随时改变的数据容器,类似于一个可以反复打开的小盒子。定义变量时需指定数据类型和名称。例如:`int age = 25;` 表示定义一个整数类型的变量 `age`,初始值为25。 常量则是不可改变的数据容器,类似于一个锁死的铁盒子,定义时使用 `final` 关键字。例如:`final int MAX_SPEED = 120;` 表示定义一个名为 `MAX_SPEED` 的常量,值为120,且不能修改。 变量和常量的主要区别在于变量的数据可以随时修改,而常量的数据一旦确定就不能改变。常量主要用于防止意外修改、提高代码可读性和便于维护。
|
2月前
|
Java 数据库连接 数据库
如何构建高效稳定的Java数据库连接池,涵盖连接池配置、并发控制和异常处理等方面
本文介绍了如何构建高效稳定的Java数据库连接池,涵盖连接池配置、并发控制和异常处理等方面。通过合理配置初始连接数、最大连接数和空闲连接超时时间,确保系统性能和稳定性。文章还探讨了同步阻塞、异步回调和信号量等并发控制策略,并提供了异常处理的最佳实践。最后,给出了一个简单的连接池示例代码,并推荐使用成熟的连接池框架(如HikariCP、C3P0)以简化开发。
60 2
|
3月前
|
Java
通过Java代码解释成员变量(实例变量)和局部变量的区别
本文通过一个Java示例,详细解释了成员变量(实例变量)和局部变量的区别。成员变量属于类的一部分,每个对象有独立的副本;局部变量则在方法或代码块内部声明,作用范围仅限于此。示例代码展示了如何在类中声明和使用这两种变量。
|
3月前
|
Java Spring 数据库连接
[Java]代理模式
本文介绍了代理模式及其分类,包括静态代理和动态代理。静态代理分为面向接口和面向继承两种形式,分别通过手动创建代理类实现;动态代理则利用反射技术,在运行时动态创建代理对象,分为JDK动态代理和Cglib动态代理。文中通过具体代码示例详细讲解了各种代理模式的实现方式和应用场景。
46 0
[Java]代理模式
|
3月前
|
安全 Java 数据安全/隐私保护
如何配置 Java 安全管理器来避免访问控制异常
配置Java安全管理器以防止访问控制异常,需在启动JVM时通过 `-Djava.security.manager` 参数启用,并设置安全策略文件,定义权限规则,限制代码执行操作,确保应用安全。
207 1