我有一个使用JavaFX编写的应用程序,它在Windows和Linux上正常运行。但是,在OSX上,应用程序启动(列在进程列表中),但GUI永远不会出现。它是从另一个应用程序启动的,它使用标准约定“java -cp&lt;所有必需的库,包括jfxrt.jar&gt;&lt; main-class&gt;&lt; args&gt;”<来确保它是最新的。 / p>
我是否缺少OSX需要使JavaFX正常工作的东西?
答案 0 :(得分:0)
用于运行应用程序的命令行smbarbour包含jfxrt.jar
位置:
/usr/lib/jvm/java-7-oracle/jre/lib/jfxrt.jar
如EulerGeek's answer至Compile code using JavaFX 2.0 (using command line)所述,在OS X上,此位置必须为:
java -cp ".:/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/jfxrt.jar" <app class>
将jdk1.7.0_09.jdk
替换为计算机上安装的任何Java版本,或者在发布时需要Java 8(不需要将jfxrt.jar
手动添加到类路径中)。
部署建议
如果要将应用程序部署到用户,即使使用Java 8,也建议您使用相关的打包工具(例如JavaFX ant任务,javafxpackager,javafx-maven-plugin或javafx-gradle-plugin)打包应用程序。