导出在多个平台上运行的带有JavaFX的可运行jar

导出在多个平台上运行的带有JavaFX的可运行jar,java,javafx,export,cross-platform,Java,Javafx,Export,Cross Platform,我使用Swing制作了一个小应用程序并导出到jar。现在,如果我在Linux或Windows上双击该文件,它将正常启动(完全相同的文件) 我想用JavaFX实现同样的功能。然而,由于JavaFX文件依赖于平台(afaik),我是否必须为每个平台导出单独的jar以及它们所需的文件 谷歌搜索我没有给我一个明确的答案,关于JavaFX被一致地包含在每个平台最流行的jre中。我发现的大多数答案都是过时的和/或相互矛盾的。也许我没有找到正确的术语来给出结果 我想主要针对Linux和Windows,用户无需

我使用Swing制作了一个小应用程序并导出到jar。现在,如果我在Linux或Windows上双击该文件,它将正常启动(完全相同的文件)

我想用JavaFX实现同样的功能。然而,由于JavaFX文件依赖于平台(afaik),我是否必须为每个平台导出单独的jar以及它们所需的文件

谷歌搜索我没有给我一个明确的答案,关于JavaFX被一致地包含在每个平台最流行的jre中。我发现的大多数答案都是过时的和/或相互矛盾的。也许我没有找到正确的术语来给出结果

我想主要针对Linux和Windows,用户无需安装除最简单的JRE选项以外的任何东西(我相信Windows上的Oracle JRE、Linux上的OpenJRE)。我将制作的大多数应用程序都只是小应用程序

使用Maven或Gradle在这方面也有帮助吗


到目前为止,我已经使用了EclipseIDE。

不久前,我使用JDK1.8.0_181创建了一个JavaX应用程序,其中包含了jfxrt.jar中所需的所有内容。我没有在其他平台上运行我的应用程序,但我无法想象JavaFX会打破Java的跨平台特性

我使用了Maven,但在兼容性方面没有什么区别


简短回答:是。JavaFX使用本机库。如果不正确地使用它,那么我可以创建一个包含java代码、java库、需要本地库和JRE所需部分的自包含应用程序。目标机器不需要安装JRE吗?这样,我还必须为每个平台创建一个存档,对吗?是的,这是正确的。