2015-03-13 27 views
0

我的应用程序被捆绑/打包为本机应用程序。由于JDK 8u40应该可以将参数传递给捆绑的应用程序。但是这不起作用。JavaFX:将参数传递给自包含的应用程序不起作用

成果目录:

  • app目录
  • 运行目录
  • msvcp100.dll
  • msvcr100.dll
  • packager.dll
  • MyApp.exe的
  • MyApp.ico

当我从Windows资源管理器调用MyApp.exe时,应用程序将作为JavaFX GUI应用程序启动。在我的main()方法中,当传递参数时有一个开关做别的事情(在这种情况下做一个system.out.println)。当我打电话给“MyApp.exe Hallo测试”时,则什么都没有发生。 GUI也不会启动。我不相信我的main()方法被调用,因为我在这个方法的入口点之后放了一个其他system.out.println。

根据http://docs.oracle.com/javase/8/docs/technotes/guides/deploy/self-contained-packaging.html#JSDPG995

见章7.3.6参数传递给一个独立的应用程序

它应该工作开箱。

那又怎么了?我的输出在哪里?当作为本地应用推出

回答

0

main方法可能不被调用,你应该做你的论点应用程序的start方法中解析或者,也可以按照these instructions为迫使你main方法被调用。

Oracle docs

的main()方法时使用JavaFX打包工具,该工具嵌入JavaFX的启动器在JAR文件中创建该应用程序的JAR文件不需要JavaFX应用程序。但是,包含main()方法非常有用,因此您可以运行在没有JavaFX Launcher的情况下创建的JAR文件,例如在使用JavaFX工具未完全集成的IDE时。此外,嵌入JavaFX代码的Swing应用程序需要main()方法。

相关问题