Intellij idea 在IntelliJ中创建使用OpenJavaFX14的应用程序的JAR。Jar是否包含JavaFX运行时?

Intellij idea 在IntelliJ中创建使用OpenJavaFX14的应用程序的JAR。Jar是否包含JavaFX运行时?,intellij-idea,javafx,jar,Intellij Idea,Javafx,Jar,我在IntellJ中使用了最新的东西OpenJDK14和openjavafx14。我创建了一个简单的示例JavaFX应用程序,它有几个按钮和一个表,以及几行代码来创建窗口。现在,对于“工件”,选择“JavaFx应用程序”不起作用。根据StackOverflow的现有答案,该选项不再有效,因为最新的JDK不包括JavaFX。因此,我使用了常规的“JAR”选项和“from modules with dependencies” 生成的JAR文件很大。是15MB。其中只有1KB是我的代码。罐子的内容如下

我在IntellJ中使用了最新的东西OpenJDK14和openjavafx14。我创建了一个简单的示例JavaFX应用程序,它有几个按钮和一个表,以及几行代码来创建窗口。现在,对于“工件”,选择“JavaFx应用程序”不起作用。根据StackOverflow的现有答案,该选项不再有效,因为最新的JDK不包括JavaFX。因此,我使用了常规的“JAR”选项和“from modules with dependencies”

生成的JAR文件很大。是15MB。其中只有1KB是我的代码。罐子的内容如下所示。由于JAR非常大,我认为它也包括JavaFX运行时。但是,当我将JAR复制到另一台计算机(Ubuntu)并试图运行它时,它失败了,并显示一条消息说需要JavaFX。所以,我安装了JavaFX,然后开始工作

我的问题是,如果JAR不包含JavaFX运行时,为什么它这么大?或者是JAR确实包含JavaFX运行时,但我的JAR设置错误,并且在另一台计算机上无法识别包含的运行时


JavaFX运行时不仅仅是JAR,它还具有本机库依赖项。在这种情况下,制作一个胖罐子并不能使它运行。看。@CrazyCoder我做了一些测试。我删除了工件设置中的所有JavaFX内容(只留下项目编译输出),并重建了JAR。现在大小变成了2KB。我将jar复制到另一台计算机(Ubuntu)上,并使用相同的命令(
…--module path--add modules javafx.controls,javafx.fxml…
)运行jar。因此,我不确定这些是否必要。我安装的东西(实际上只是解压缩到一个目录)是Glion网站上的40MB JavaFX Linux SDK。JavaFX运行时不仅仅是JAR,它还具有本机库依赖项。在这种情况下,制作一个胖罐子并不能使它运行。看。@CrazyCoder我做了一些测试。我删除了工件设置中的所有JavaFX内容(只留下项目编译输出),并重建了JAR。现在大小变成了2KB。我将jar复制到另一台计算机(Ubuntu)上,并使用相同的命令(
…--module path--add modules javafx.controls,javafx.fxml…
)运行jar。因此,我不确定这些是否必要。我安装的东西(实际上只是解压缩到一个目录)是Glion网站上的40MB JavaFXLinuxSDK。