2015-03-13 26 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()方法。

相關問題