我创建了一个 JavaFX 2 应用程序,我在其中添加了一个命令行模式(以便它可以从夜间脚本以批处理模式运行)。为了使其有效,我想设置退出状态以指示错误。我正在使用以下代码执行此操作:
if (errorOccurred) {
Platform.exit();
System.exit(exitCode);
}
当我从 IntelliJ 运行它时,它工作得很好,我在控制台窗口中看到了这个:
进程以退出代码 255 结束
当我从命令行运行 jar 时,它也可以工作:
$ java <snip-lots-of-arguments> cool_app.Main
$ echo $?
255
但是在我使用javapackager
将 jar 变成本机应用程序后,它停止工作:
$ javapackager -deploy -native -outdir out -outfile "cool_app.app" -srcfiles cool_app.jar -appclass cool_app.Main -name "cool_app" -title "cool_app"
$ open out/cool_app.app
$ echo $?
0
我在 MacOS 10.10.4 上使用 JDK 8u40。
有什么我想念的吗?还是中的错误javapackager
?