在没有主方法的情况下运行JavaFX应用程序



这篇材料在第10页上说,可以在不编写main的情况下运行JavaFX应用程序。我假设jfxrt.jar中有一些预定义的main,它查找扩展Application的类并运行它

是这样吗?如何做到这一点?

我想jfxrt.jar中有一些预定义的main,它会查找扩展Application的类并运行它。

这不是该评论的真正含义,也不是它的工作方式。它所说的只是,如果"主类"是javafx.application.Application的子类,那么它不需要定义main(String[] args)方法。来自java:的Oracle工具文档

java命令可用于通过加载具有main()方法或扩展javafx.application.Application的类来启动JavaFX应用程序。在后一种情况下,启动器构造Application类的实例,调用其init()方法,然后调用start(javafx.stage.Stage)方法

(我的重点)

因此,如果在命令行上指定的类是Application的子类,则此行为只需烘焙到JVM可执行文件中即可。请注意,您仍然需要指定要运行的类;如果它是CCD_ 18子类,则不需要主方法。(JVM并没有像您在问题中描述的那样,扫描类路径以查找要运行的候选类。)

要运行的类可以在命令行(java com.mycompany.MyApp)上指定,也可以以通常的方式在jar文件清单中指定。

这是在JDK 8,iirc中添加的。

相关内容

  • 没有找到相关文章

最新更新