我为 macOS 编写了一个基于 Java 的应用程序,该应用程序是使用javapackager
Java 8 中的 Oracle 创建的。它运行了几个月,直到发生了一些变化,可能是由于最近的 Java 更新,现在当我重建应用程序时,结果退出时没有任何消息执行。直接在终端外壳(即使用java -jar path/to/my.jar
)中运行 jar 文件本身可以正常工作而不会出错。我不知道该.app
版本出了什么问题,并且无法弄清楚如何从 javapackager 创建的任何东西中获取任何诊断信息。
如何跟踪.app
创建的 usingjavapackager
在运行时的作用?
我正在使用 Oracles Java 1.8 u152 的-deploy -native image
选项javapackager
在 OSX 10.12.6 上创建应用程序。我的问题特别是关于如何获得结果.app
以打印它正在做的事情,或获得错误诊断或其他东西,以帮助弄清楚它在幕后所做的事情。我不需要帮助来运行javapackager
自己。
我认为使用Console
将有助于了解正在发生的事情,但信息太稀疏,我难以解释。在隐藏了很多其他进程输出之后,归结为正在打印以下内容:
default 22:43:22.523842 -0800 taskgated MacOS error: -67062
default 22:43:22.733680 -0800 SBML Test Runner WARNING: The Gestalt selector gestaltSystemVersion is returning 10.9.6 instead of 10.12.6. This is not a bug in Gestalt -- it is a documented limitation. Use NSProcessInfo's operatingSystemVersion property to get correct system version number.
Call location:
default 22:43:22.733853 -0800 SBML Test Runner 0 CarbonCore 0x00007fff97a4d1b1 ___Gestalt_SystemVersion_block_invoke + 121
default 22:43:22.733876 -0800 SBML Test Runner 1 libdispatch.dylib 0x00007fffac28b8fc _dispatch_client_callout + 8
default 22:43:22.733897 -0800 SBML Test Runner 2 libdispatch.dylib 0x00007fffac28b8b9 dispatch_once_f + 38
default 22:43:22.733930 -0800 SBML Test Runner 3 CarbonCore 0x00007fff979db292 _Gestalt_SystemVersion + 976
default 22:43:22.733982 -0800 SBML Test Runner 4 CarbonCore 0x00007fff979daaad Gestalt + 139
default 22:43:22.734010 -0800 SBML Test Runner 5 libswt-pi-cocoa-4628.jnilib 0x00000001283072de Java_org_eclipse_swt_internal_cocoa_OS_Gestalt + 158
default 22:43:22.734028 -0800 SBML Test Runner 6 ??? 0x00000001067919f4 0x0 + 4403567092
尽管taskgated
起初该错误似乎相关,但一些谷歌搜索表明这是一个常见问题而不是致命的。