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

使用Eclipse内置jpackage打包时出现‘Module not found’错误求助

问题原因分析

你遇到的问题核心在于Eclipse内置的是JRE(Java运行时环境),而非完整的JDK(Java开发工具包):

  • Eclipse 2024-06自带的org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_21.0.3是精简的运行环境,仅包含Java程序运行必需的核心模块,不具备JDK特有的完整工具链和全量模块库。
  • jpackage本质是JDK专属工具,它依赖jlink构建自定义运行镜像,而jlink需要访问完整的JDK模块池才能找到java.rmi这类可能被JRE精简的模块。独立JDK(如22.0.2)包含所有标准模块和完整工具链,因此能正常执行打包流程。
解决办法

1. 直接使用独立JDK的jpackage执行命令

既然已验证独立JDK的jpackage可用,直接替换命令中的jpackage路径即可,示例:

C:\path\to\jdk-22.0.2\bin>jpackage.exe @C:\dev\eclipse-workspace\project\target\jpackage.opts

2. 配置Eclipse使用外部JDK作为打包环境

将项目关联到独立JDK,让Eclipse的打包流程自动调用JDK的jpackage:

  • 打开Window > Preferences > Java > Installed JREs,点击Add选择你的独立JDK目录,设置为默认JRE。
  • 右键项目,选择Build Path > Configure Build Path,将JRE System Library切换为刚才添加的独立JDK。
  • 若使用Eclipse自带打包工具,在打包配置中指定使用该JDK的jpackage。

3. 检查并优化jpackage参数(可选)

打开jpackage.opts文件,查看是否存在显式依赖java.rmi的参数(如--add-modules java.rmi):

  • 如果项目实际不需要RMI功能,移除该参数后,可能在JRE环境下也能正常打包。
  • 如果确实依赖RMI功能,则必须使用完整JDK环境,无法通过JRE解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 23:44:52