前言
犹记得当年下载完jdk后安装目录下是存在jre文件夹的,但是不知道从什么时候起,它么得了。
故事还得从我前几天安装一个东西开始,运行的时候提醒我不是用的jdk而是直接用的jre运行的。我当时可太懵了,我以为直接下载jre再加上我之前有jdk就没问题呢,事实上我运行jar文件的时候确实没啥问题,这确实是我第一次遇到。于是二话没说,删掉jre和jdk,去官网下载了最新的jdk
开心的安装好,却发现依旧没有jre文件夹(如下图),这下我可就慌了,于是开始查资料,后来才发现,原来java8版本之后都么得jre文件夹了呢。那该如何解决呢?
解决方案
丝毫不用慌昂,此时在当前目录下打开cmd。
ps:这里有两个小技巧昂,第一个是按住shift键,之后在空白处右击鼠标,就可以进入powershell了,当然如果你下载了windows terminal这个软件的话,右键中会出现个在windows终端中打开的。
第二种方法是你直接在地址栏里输入cmd,因为cmd在环境变量内,所以会直接找到并打开。
那么我们书接上回,话归正传。打开了这个小黑框框之后,我们要怎么办呢?
只需要输入
bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
我们这里是使用的jlink命令来定制jre内容
原理是这样的:
jlink --module-path "java模块位置" --add-modules 加入需要的模块,多个用英文逗号隔开 --output "指定生成的jre文件夹路径"
运行之后,我们就会get到jre这个文件夹了,如果想要精简jre啥的,就可以按照自己的需求加入需要的模块就好
接下来只需要把jre配置到环境变量中,就可以开心的玩耍了呢
常见问题
有人可能会遇到输入指令运行后报错的问题,这个一般是权限不够的原因,大部分出现在java安装的c盘的小朋友身上,解决办法是以管理员身份运行cmd,之后自己手动跳转目录
或者也可以使用powershell的管理员版。