JDK 16版本中JRE位置查找及ClassPath变量配置问题

问题解答
为什么JDK 16没有单独的JRE文件夹
从JDK 9版本开始,Oracle引入了模块化系统,默认安装JDK时不再提供独立的JRE目录,原本JRE的所有功能已经完全整合进JDK中,所以JDK 16及更高版本的安装目录下默认都找不到单独的JRE文件夹,并非你遗漏了安装内容。
ClassPath配置相关说明
- 首先纠正一个常见的过时认知:JDK 1.6及之后的版本都不需要手动配置ClassPath环境变量,这个配置是非常早期的Java版本才需要的操作,新版Java会自动搜索当前工作目录下的类文件,无需额外配置。
- 你提到的直接将ClassPath配置到JDK 16根目录是不可行的:ClassPath的作用是指定Java程序加载用户自定义类、第三方依赖包的搜索路径,和JDK本身的运行环境路径无关,这么配置不会生效,还可能引发类加载冲突。
- 如果你配置环境变量的目的是为了在全局任意路径都能调用
java、javac等命令,只需要配置PATH环境变量,指向JDK根目录下的bin文件夹即可。 - 如果确实有特殊场景必须用到独立的JRE目录,可以手动生成:在JDK根目录打开命令提示符,执行以下命令即可在当前目录生成完整的JRE文件夹:
bin/jlink.exe --module-path jmods --add-modules java.desktop --output jre
内容的提问来源于stack exchange,提问作者Chakresh Singh
相关产品推荐
相关产品推荐

