我已经创建了一个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
中的错误?