gpt4 book ai didi

intellij-idea - Intellij Javafx 神器 - 你是如何制作的?

转载 作者:行者123 更新时间:2023-12-04 11:41:20 29 4
gpt4 key购买 nike

我一整天都在尝试将我的 javafx 应用程序转换为 jar 文件。我正在使用 Java 1.7 更新 7。

Oracle 有 some information ,但它似乎散落在各处。 Intellij 几乎可以完成这项工作,但出现以下错误:

java.lang.NoClassDefFoundError: javafx/application/Application

这似乎是说我需要告诉 java jfxrt.jar 在哪里...如果我将这个 jar 添加到我的类路径信息中,以便在 intellij 中构建 list - ctrl+shift+alt+s -> Artifacts -> Output Layout tab -> 类路径,然后我收到另一个错误:
 Could not find or load main class com.downloadpinterest.code.Main

虽然必须在我的类路径中包含 jfxrt.jar 似乎很奇怪......

我也尝试创建一个 ant 脚本,但我觉得 IntelliJ 已经完成了 90% - 我只需要一点帮助来弄清楚为什么我需要包含 jfxrt.jar,以及为什么我的 Main 类没有被找到(我猜我需要以某种方式将它添加到类路径中?)。

有人能告诉我发生了什么吗?我之前有一个基本的 gui,它运行良好,但 JavaFX 似乎让生活变得复杂!

最佳答案

您的假设是正确的,您需要将 JavaFX 添加到类路径中。
它位于[JDK]/jre/lib/jfxrt.jar .

要在运行时提供 JavaFX,您可以将它与您的应用程序捆绑在一起,在此 Oracle guide 中进行了说明。或者
使 Java 7 Update 6 成为您的应用程序的要求,然后添加 [JAVA_HOME]/lib/jfxrt.jar在应用程序方便的时候尽早到类路径。

第一个选项对您来说意味着更多的工作,但绝对确保所有用户都拥有相同版本的库 - 您也可以在使用 JRE 时捆绑它。
第二个版本不提供这种确定性,但更容易实现。

作为第二个选项的变体 - 如果您实际上可以捆绑 JRE - ,您也可以将它捆绑在您的发行版中,然后包含一个 shell-scripts/batch-file/executable-wrapper 以使您的程序使用它。
这样,您就可以从选项 I 中获得所有确定性,而选项 II 的难度仅略有提高。

关于intellij-idea - Intellij Javafx 神器 - 你是如何制作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12237269/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com