首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调试jpackage的更简单的方法是什么?

调试jpackage的更简单的方法是什么?
EN

Stack Overflow用户
提问于 2022-12-03 01:52:09
回答 1查看 32关注 0票数 0

我对jpackage有一个问题,这个问题非常罕见,不能在这里分享。我觉得我杀死这个bug的唯一方法是调试jpackage工具的代码。我已经看到它的代码是纯Java的,我想知道是否有一种简单的方法可以看到失败的代码一步一步地运行

我是一个经验丰富的java程序员,我知道如何使用调试器,但我无法从Java启动jpackage (看来主类包不是从它的模块导出的)。我认为编译完整的JDK对我来说太多了(因为它是本机代码),这可能不是到达代码的Java部分的方法。

所以我才在这里找你帮忙。还有别的办法吗?

我无法独自完成这个任务,而且情况非常糟糕,因为我已经编写了几个星期的解决方案,而现在由于这个bug,我没有什么可交付的了。我也没有时间去归档这个bug (很难知道它是JDK还是Wix bug,我需要在一周内完成我的工作)

在理想的世界中,应该可以在调试模式下运行jpackage.exe并将远程调试器附加到它上,但这听起来似乎有点困难。

提前谢谢你

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-12-03 02:11:07

您可以做的是通过jpackage API调用ToolProvider:

代码语言:javascript
复制
static final ToolProvider JPACKAGE = ToolProvider.findFirst("jpackage").orElseThrow();
public static void main(String[] args) {
    JPACKAGE.run(System.out, System.err, "--help"); // put actual options here
}

然后,您可以从IDE或其他调试器调试此应用程序,并从那里进入jpackage代码。

这是因为在本例中,jpackage运行在与调用它的程序相同的进程中。

如果某个wix命令在某个退出代码中失败,您还可以使用--temp选项重新运行jpackage,将所有临时文件输出到一个固定目录中,然后直接从异常消息中重新运行失败的Wix命令。

另一个可以提供帮助的选项是--verbose选项,它使jpackage输出更多的信息。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74663391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档