我的应用程序捆绑/打包为本机应用程序。从JDK 8u40开始,应该可以将参数传递给捆绑的应用程序。但这不起作用。
结果目录:
当我从Windows资源管理器调用MyApp.exe时,应用程序将作为JavaFX GUI应用程序启动。在我的main()方法中,当传递参数时,我有一个开关做其他事情(在这种情况下做一个system.out.println)。当我打电话给#34; MyApp.exe Hallo test"时,没有任何反应。 GUI也没有启动。我不相信我的main()方法被调用,因为我在此方法的入口点之后放置了另一个system.out.println。
根据http://docs.oracle.com/javase/8/docs/technotes/guides/deploy/self-contained-packaging.html#JSDPG995
参见章节7.3.6将参数传递给自包含的应用程序
它应该开箱即用。
那有什么不对?我的输出在哪里?
答案 0 :(得分:0)
当您作为原生应用启动时,可能无法调用main
方法,您应该在应用程序的start
方法中解析所有参数,或者可以按照{{3强制调用main
方法。
当使用JavaFX Packager工具创建应用程序的JAR文件时,JavaFX应用程序不需要main()方法,该工具将JavaFX Launcher嵌入JAR文件中。但是,包含main()方法非常有用,因此您可以运行在没有JavaFX Launcher的情况下创建的JAR文件,例如在使用未完全集成JavaFX工具的IDE时。此外,嵌入JavaFX代码的Swing应用程序需要main()方法。