在JDK1.8之后,我们发现一个奇怪的就是没有jre文件夹,即使安装后也会报一个没有jre的错误,这时候可以使用jdk1.8稳定版里面带的jre,或者使用cmd命令自己生成jre。

那么为什么取消jre 文件夹呢?

我觉得这也是自从JDK 9开始引入module system之后,自然而然的动作。Java平台的领导者们意识到了随着虚拟化、容器化、微服务化的普及和流行,以前庞大的JRE已经跟不上时代的发展:作为一个运行时,里面经常包含了太多不需要的东西。比如,如果一台主机上的某个JRE仅仅是用来运行Apache Tomcat,那么JRE中用来支持AWT的部分肯定是不需要的,及浪费空间又降低效率。引入module system,使得开发者能够按自己的应用创建一个最小的运行时成为了可能——你的一个微服务的部署应用仅仅需要一个非常小的runtime(比如仅仅20m)——而不是像以前一样不管应用复杂还是简单,都需要一个上百兆的JRE作为运行runtime。横向扩展和部署的效率将能大幅提升。作为一个Java开发者,这个改变我觉得是值得让我们高兴的,这是一种进步,说明了Java平台一直在尝试紧跟时代,而不用担心被淘汰。回到最初引用的那句话——因为你可以用jlink根据自己的需求,创建一个更小的运行时,而不是不管什么应用,都是同样的JRE。<引用自一位知乎大佬说的话>

如何创建JRE文件夹呢?

在这里插入图片描述
这时候在在windows10的DOS窗口里面,切换到bin当前文件夹同级,例如:
win+R
输入:cmd 回车
看到如下图
在这里插入图片描述
输入jdk所在文件夹,比如说我的jdk9在F:\JavaJRE\jdk1.9
先输入f:
再输入:cd F:\JavaJRE\jdk1.9
再输入:bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
没有报错之后,查看文件夹,此时jre已经存在!!
在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐