【发布时间】:2021-08-30 10:29:16
【问题描述】:
我正在尽最大努力导出我的 javafx(11) 项目,但似乎没有任何效果。我在 IntelliJ IDE 上,例如让我们使用这个项目:https://github.com/EveningSt3r/JFX-hotel-project。 (我在 30 分钟内写了这篇文章,但它很简单并且满足了这个问题的目的)
当我使用 IntelliJ 的 Build Artifacts 功能时:“fx:deploy is not available” 我不知道如何使用 jlink,网上所有的教程都难倒我。 大多数 javafx 教程都是从它是 JDK 的一部分开始的,所以这没有帮助。 我不知道如何使用 Maven 和 Gradle。
这来自一个对 Java 实际工作原理并不十分了解,只知道如何制作东西的家伙。
我已经花了数周时间试图解决这个问题,所以有人可以帮我把它简化到婴儿级别,关于如何将它变成可运行的东西或 exe 吗?我知道我听起来很愚蠢,但我只是累了
【问题讨论】:
-
module-info.java文件是什么?这不是有效的 Java 限定名称,并且 IntelliJ 不允许创建它......它是如何到达那里的?为什么会在那里? -
我正在学习 Tim Buchalka Java 课程。他做到了。这是我定义模块依赖关系的地方,你可以通过右键单击 src 然后选择 new (module-info) 来实现它。没有它我的应用程序无法运行,(我怀疑这是 java 11 的事情)
-
@Chaos_Is_Harmony
module-info.java文件是模块描述符,它是 Java 9 中添加的 Java 平台模块系统 的一部分。任何能够处理 Java 9+ 的 IntelliJ 版本应该理解那个文件。也就是说,不需要模块描述符(尽管使用 JavaFX 可能涉及将 JavaFX 混合放置在模块路径上,而您自己的代码/其他依赖项放置在类路径上)。 -
@Yeetles 您可以使用 Java 14+ 吗?如果是这样,您可能需要查看packaging tool
jpackage。如果我没记错的话,它是 Java 14-15 中的一个孵化特性,并在 Java 16 中被标准化。您可能还想查看JPackageScriptFX(我自己从未尝试过,但这里有其他用户推荐)。 -
@Slaw 我回家后试试看。不过有两件事:1:我只需要安装 java 14,我就可以从命令行使用 jpackage,对吗? 2. 你能在理论上把我必须用于这个项目的命令简化吗?本周早些时候,我确实查看了 jpackage 文档,这让我很难过。