Java11之后的jdk到底要不要生成jre目录?

今天遇到一个tomcat闪退问题,tomcat版本是10,java版本是17。
在网上查了很多资料,发现是tomcat的JRE_HOME路径设置错误,或者没有设置。CATALINA_HOME目录也要设置。CATALINA_HOME目录很好设置,就是tomcat安装路径。
可是java1之后,下载jdk就没有jre目录了,于是继续查,发现有一个命令可以在jdk安装路径下生成jre目录 。

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

于是使用这条命令生成jre目录。在启动tomcat的startup.bat文件中设置JRE_HOME的路径

set JRE_HOME=C:\Users\Administrator\Desktop\test\jdk17\jre
set CATALINA_HOME=C:\Users\Administrator\Desktop\test\apache-tomcat-8.5.99

启动tomcat,还是失败,依旧闪退。
试了很多办法,都没有效果,然后试着把jre路径删除了,只保留到jdk17:

set JRE_HOME=C:\Users\Administrator\Desktop\test\jdk17
set CATALINA_HOME=C:\Users\Administrator\Desktop\test\apache-tomcat-8.5.99

启动tomcat,成功。
这我就很疑惑了,为什么写道jdk17那一级目录就可以,而写道jre目录就错误呢?
于是我又下载了一个jdk8版本的java,在jdk8里面自动包含jre目录
于是,我将tomcat启动文件修改成:

set JRE_HOME=C:\Users\Administrator\Desktop\test\jdk8\jre
set CATALINA_HOME=C:\Users\Administrator\Desktop\test\apache-tomcat-8.5.99

启动tomcat,成功。
结合1.8的情况,看来不是路径的问题,如果有jre,应该写道jre这一层。
所以我在想java设计者既然在java9之后就不提供jre的下载了,是不是手动生成jre这种方式本质上就错了。
于是我删除了jdk17里面的jre文件,在启动tomcat是startup.bat文件里面仍要设置JRE_HOME。

set JRE_HOME=C:\Users\Administrator\Desktop\test\jdk17
set CATALINA_HOME=C:\Users\Administrator\Desktop\test\apache-tomcat-8.5.99

还是设置成没有jre一级目录,现在jre文件夹也删除了。
启动tomcat,成功。

在JDK 11中,JRE已经被整合到JDK中,所以不再需要单独配置JRE

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Linux系统中,你可以按照以下步骤生成JREJava Runtime Environment): 1. 首先,确保你已经安装了JDK 11。你可以从官方网站上下载并安装JDK 11。 2. 打开终端,并进入JDK 11的安装目录。例如,如果JDK 11安装在"/usr/local/jdk11"目录下,你可以使用以下命令进入该目录: ``` cd /usr/local/jdk11 ``` 3. 使用以下命令生成JRE目录: ``` bin/jlink --module-path jmods --add-modules java.desktop --output jre ``` 这个命令会使用"jmods"目录中的模块路径,并将"java.desktop"模块添加到JRE中。生成JRE目录将被保存在当前目录的"jre"文件夹中。 注意,如果你没有足够的权限在JDK 11的安装目录生成JRE,你可以将JDK 11复制到其他目录中,并在复制后的目录中执行相同的命令来生成JRE。 [1][2][3<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [JDK11之后版本,如何生成JRE](https://blog.csdn.net/wshkeke1/article/details/128964480)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [linux下配置jdk11以及生成jre,jdk9以上自动生成jre解决](https://blog.csdn.net/y_qc_lookup/article/details/99948136)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值