You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jpackage打包后L128X1024MixRandom随机数算法不可用问题咨询

为什么添加uses指令无法解决问题

  1. 你使用的L128X1024MixRandom随机数算法实现位于jdk.random模块,不属于Java核心的java.base模块。你本地直接运行代码时用的是完整JDK,默认加载了jdk.random模块,所以运行正常;但jpackage打包时默认只会裁剪包含你的模块显式依赖的模块及其传递依赖,jdk.random没有被显式依赖就会被排除。
  2. uses java.util.random.RandomGenerator只是声明你的模块需要消费RandomGenerator类型的服务,作用是让服务加载机制能正确识别你要消费的服务类型,它不会触发模块解析逻辑自动把服务提供者模块(也就是jdk.random)加入到打包后的运行时镜像中,所以加了uses还是会找不到实现。

无需额外添加jpackage参数的解决方案

直接在你的module-info.java里添加对jdk.random模块的显式依赖即可,修改后的配置如下:

module com.example {
    requires java.desktop;
    requires jdk.random;
    uses java.util.random.RandomGenerator;
}

添加后jpackage在模块解析阶段就会自动把jdk.random模块包含到打包后的运行时镜像中,不需要再加--add-modules jdk.random参数。

内容的提问来源于stack exchange,提问作者bourne2program

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 20:06:05