关于jdk11没有jre

本文介绍了如何在JDK 11中,由于官方移除预装JRE,通过执行命令`binjlink.exe --module-path jmods --add-modules java.desktop --output jre`来自动生成所需的JRE。这个方法适用于需要独立JRE环境的场景,确保应用程序能够正常运行。

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

关于jdk11没有jre

解决如下:

以管理员的身份打开命令提示符cd到%JAVA_HOME%(用户安装路径)

然后运行命令bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre

然后将自动生成了jre。

 

### JDK 11 不再包含 JRE 的原因 自 JDK 11 起,Oracle 官方决定不再提供独立的 Java 运行时环境 (JRE),也不再有服务器版 JRE。此变更意味着仅提供完整的开发套件 (JDK)[^2]。 这种变化的主要原因是简化分发和支持模型,减少冗余组件,并鼓励开发者创建更精简的应用程序部署包。通过这种方式,可以更好地控制应用程序所需的模块化依赖关系,从而提高性能并减小攻击面。 对于 Windows 和 macOS 用户而言,在这些平台上安装早期版本的 JDK 时可以选择同时安装公共 JRE;然而到了 JDK 11 版本,则取消了这个选项[^4]。 ### 解决方案 为了应对缺少默认 JRE 的状况,官方推荐了几种替代方案: #### 使用 `jlink` 工具构建定制化的运行时镜像 `jlink` 是一个强大的命令行工具,允许用户根据具体需求组合必要的模块来生成最小化的运行时环境。这种方法不仅能够节省空间还能提升启动速度。下面是如何利用 `jlink` 来制作适合特定应用使用的轻量级 JRE 实例的具体操作指南: ```bash # 执行该指令将会在当前目录下创建名为 'jre' 的文件夹作为新的运行时环境 bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre ``` 这段脚本指定了要加入到新环境中的一组基础模块(`java.desktop`),并将最终产物放置于指定位置(`--output jre`)[^5]。 #### 配置现有 JDK 作为运行时环境 如果目标平台上的所有应用程序都由同一团队维护,那么可以直接将整个 JDK 设置成 JAVA_HOME 并将其 bin 文件夹添加至 PATH 环境变量中去。这样做虽然会让系统保留更多不必要的类库副本,但对于某些场景来说可能是最简单直接的办法之一[^3]。 #### 利用第三方提供的兼容 JRE 发行版 除了上述两种方式外,还有其他供应商提供了与 OpenJDK 兼容但仍带有传统风格 JRE 结构的产品可供选用。这类产品通常已经预先配置好了一些常用的设置项,使得集成过程更加便捷高效[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值