我想编写我的第一个 JavaFX 8 应用程序(使用 e(fx)clipse 等进行我的第一次实验),并且对平台独立性有一些担忧。
JavaFX 8 是 Oracle JRE 的一部分,Oracle JRE 是 Windows 上最常用的 JRE。因此,我在这里并不费心,因为几乎每台运行 Java 8 的 Windows 计算机上都会安装 JavaFX。
但在 Ubuntu 和其他 *nix 上,OpenJDK 通常用作 Java 发行版。由于 openjfx
与 open-jdk-8-*
是分开的,因此许多人默认情况下不会安装 JavaFX。
我想到的是:
- 编写一个调用
sudo apt-get install openjfx
的安装脚本(我想避免这种情况,因为我希望可执行文件 .jar 可以独立运行,无需脚本)< - 与我的应用程序一起发送 JavaFX 发行版(即其 .jar)(但我了解到不应这样做)
这两个想法似乎都不太有希望......
因为我希望有一些 JavaFX 专业人士,所以我希望有人可以帮助我“确保我的 JavaFX 应用程序在 Windows 和 Ubuntu 上都能正常运行的最佳可能性是什么?” 解决这个问题的最先进技术是什么?
最佳答案
此页面 ( http://www.sj-vs.net/creating-a-simple-debian-deb-package-based-on-a-directory-structure/ ) 很好地描述了如何基于任何目录结构(例如,使用预编译的内容)构建简单的 .deb 包。
然后,您可以将依赖项(例如 javafx 包)添加到 control
文件的 Depends
部分。 (https://www.debian.org/doc/debian-policy/ch-relationships.html)。这会强制任何安装程序(如 apt 或 dpkg )将 javafx 与您的软件包一起安装,如果该软件包不可用,则会导致安装失败。您还可以添加一个 postinst
脚本,该脚本将在安装后执行,如有必要,您可以在其中设置类路径等。
关于java - 如何确保 JavaFX 已安装(尤其是在 Ubuntu 上)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42753315/