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

如何简便调试jpackage工具?解决模块导出等调试启动难题

调试jpackage的简便方法

方法1:用-J参数给jpackage添加远程调试选项

jpackage作为JDK自带工具,支持通过-J前缀向运行它的JVM传递参数。直接在命令行启动jpackage时加上调试参数:

# Windows/Linux/macOS通用命令
jpackage -J-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 <你的jpackage原有参数>
  • suspend=y:让jpackage启动后暂停执行,等待调试器连接,确保能捕获初始执行流程
  • address=5005:调试监听端口,可自行修改

之后在你的IDE(IntelliJ IDEA/Eclipse等)中创建远程调试配置,设置主机为localhost,端口为5005,启动调试连接即可。

方法2:通过环境变量传递调试参数

如果-J参数无法生效,可通过设置环境变量让jpackage的JVM加载调试代理:

  • Windows命令行:
    set JAVA_TOOL_OPTIONS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
    jpackage <你的jpackage原有参数>
    
  • Linux/macOS终端:
    export JAVA_TOOL_OPTIONS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"
    jpackage <你的jpackage原有参数>
    

关联jpackage源码

无需编译完整JDK,只需:

  1. 下载对应JDK版本的OpenJDK源码
  2. 找到jdk.jpackage模块下的Java代码(路径一般为src/jdk.jpackage/share/classes)
  3. 将该源码目录导入你的IDE,调试时即可自动关联源码,查看执行细节

注意事项

  • 调试时若遇到模块未导出的类,调试器仍可通过反射访问其执行流程,不影响断点调试
  • 如果使用IDE的远程调试功能,确保端口未被其他进程占用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 16:10:40