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

如何用JLink/JPackage打包Groovy应用?需引入哪些模块?

核心依赖模块

由于你未使用Groovy元编程特性,仅需引入以下两个核心Groovy模块:

  • groovy:Groovy基础核心模块,提供所有基础语法与API支持
  • groovy-swing:专门适配Swing/AWT的Groovy扩展模块,简化Swing组件开发

JDeps正确扫描命令

之前JDeps无结果大概率是参数配置问题,试试这条命令:

jdeps --module-path /path/to/groovy/modules --add-modules java.base,java.desktop,groovy,groovy-swing --list-deps your-app.jar

参数说明:

  • --module-path:指定Groovy模块化jar包的存放路径(需使用Groovy 4+版本,该版本开始完全支持JPMS)
  • --add-modules:手动添加已知核心模块,帮助JDeps正确识别依赖链
  • 最后指定你的应用jar包路径

1. 构建自定义运行时镜像(JLink)

jlink --module-path $JAVA_HOME/jmods:/path/to/groovy/modules \
      --add-modules java.base,java.desktop,groovy,groovy-swing \
      --output custom-runtime \
      --strip-debug \
      --compress 2

2. 打包成平台可执行文件(JPackage)

jpackage --name YourAppName \
         --input /path/to/your/app/resources \
         --main-jar your-app.jar \
         --main-class com.your.package.MainClass \
         --runtime-image custom-runtime \
         --type app-image  # 可替换为exe、dmg等对应平台格式

关键注意事项

  • 必须使用Groovy 4及以上版本,旧版本Groovy未模块化,无法直接通过JLink处理
  • 若应用用到Groovy字符串模板、集合扩展等基础特性,groovy模块已包含,无需额外引入
  • 可直接查看Groovy模块化jar文件名确认模块对应关系:groovy-4.x.x.jar对应groovy模块,groovy-swing-4.x.x.jar对应groovy-swing模块

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 12:57:08