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


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



相关文章
|
14天前
|
Java 程序员 容器
Java中的变量和常量:数据的‘小盒子’和‘铁盒子’有啥不一样?
在Java中,变量是一个可以随时改变的数据容器,类似于一个可以反复打开的小盒子。定义变量时需指定数据类型和名称。例如:`int age = 25;` 表示定义一个整数类型的变量 `age`,初始值为25。 常量则是不可改变的数据容器,类似于一个锁死的铁盒子,定义时使用 `final` 关键字。例如:`final int MAX_SPEED = 120;` 表示定义一个名为 `MAX_SPEED` 的常量,值为120,且不能修改。 变量和常量的主要区别在于变量的数据可以随时修改,而常量的数据一旦确定就不能改变。常量主要用于防止意外修改、提高代码可读性和便于维护。
|
1月前
|
Java 编译器
java“变量 x 可能未被初始化”解决
在Java中,如果编译器检测到变量可能在使用前未被初始化,会报“变量 x 可能未被初始化”的错误。解决方法包括:1. 在声明变量时直接初始化;2. 确保所有可能的执行路径都能对变量进行初始化。
|
2月前
|
存储 Java
java基础(7)变量以及变量的分类
Java变量是内存中存储数据的基本单元,包含数据类型、名称和字面值。变量的数据类型决定了分配的内存空间大小。变量声明格式为“数据类型 变量名;”,变量名应符合标识符命名规范。变量可以重新赋值,但数据类型需一致。变量可以一行声明多个,作用域决定了变量的可用范围。变量分为局部变量和成员变量,局部变量定义在方法体内,成员变量定义在方法体外、类体内。
42 2
|
2月前
|
Java Linux
java基础(3)安装好JDK后使用javac.exe编译java文件、java.exe运行编译好的类
本文介绍了如何在安装JDK后使用`javac.exe`编译Java文件,以及使用`java.exe`运行编译好的类文件。涵盖了JDK的安装、环境变量配置、编写Java程序、使用命令行编译和运行程序的步骤,并提供了解决中文乱码的方法。
67 2
|
2月前
|
Java
安装JDK18没有JRE环境的解决办法
安装JDK18没有JRE环境的解决办法
346 3
|
16天前
|
安全 Java 编译器
JDK 10中的局部变量类型推断:Java编程的简化与革新
JDK 10引入的局部变量类型推断通过`var`关键字简化了代码编写,提高了可读性。编译器根据初始化表达式自动推断变量类型,减少了冗长的类型声明。虽然带来了诸多优点,但也有一些限制,如只能用于局部变量声明,并需立即初始化。这一特性使Java更接近动态类型语言,增强了灵活性和易用性。
95 53
|
22天前
|
Java 编译器
Java重复定义变量详解
这段对话讨论了Java中变量作用域和重复定义的问题。学生提问为何不能重复定义变量导致编译错误,老师通过多个示例解释了编译器如何区分不同作用域内的变量,包括局部变量、成员变量和静态变量,并说明了使用`this`关键字和类名来区分变量的方法。最终,学生理解了编译器在逻辑层面检查变量定义的问题。
Java重复定义变量详解
|
30天前
|
Java
通过Java代码解释成员变量(实例变量)和局部变量的区别
本文通过一个Java示例,详细解释了成员变量(实例变量)和局部变量的区别。成员变量属于类的一部分,每个对象有独立的副本;局部变量则在方法或代码块内部声明,作用范围仅限于此。示例代码展示了如何在类中声明和使用这两种变量。
|
1月前
|
Java
让星星⭐月亮告诉你,jdk1.8 Java函数式编程示例:Lambda函数/方法引用/4种内建函数式接口(功能性-/消费型/供给型/断言型)
本示例展示了Java中函数式接口的使用,包括自定义和内置的函数式接口。通过方法引用,实现对字符串操作如转换大写、数值转换等,并演示了Function、Consumer、Supplier及Predicate四种主要内置函数式接口的应用。
27 1
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
77 4
下一篇
无影云桌面