仅需一些背景知识:几年来,我一直在使用Eclipse使用Java 8开发小型Java / JavaFX应用程序(供家庭使用或与亲朋好友共享)。我完全错过了Java 9-11,所以我想现在可以尝试一下。事实证明,现在事物的处理方式(模块结构等)已经发生了很大变化,我必须说我有点不知所措。
我的意思是说,安装包含JavaFX的Java 8 JDK,启动Eclipse,获取JavaFX插件并立即开始编码,从来都不是一件容易的事。现在,使用Java 11似乎必须做很多以前从未处理过的事情,因此似乎再也不容易了。 JavaFX运行时现在是另外一回事了,您可以手动设置它,或使用Maven或Gradle。之前从未做过这些事情,所以我只是浏览了to get a head start with Maven个互联网。在使它以某种方式工作之后,我的应用程序将无法通过Eclipse运行,直到我发现必须为JavaFX运行时提供JVM参数。同样安装e(fx)clipse插件只会以某种方式破坏我的IDE。
接下来的事情是,仅仅导出我的应用程序(这以前从来都不是问题),实际上不再起作用了,因为系统找不到任何JavaFX运行时或任何东西。然后我发现something concerning application deployment,而且,哇,这不仅仅是在IDE中点击“导出”,运行一个.jar即可完成的工作。为什么现在必须如此复杂,还是我只是想念一些东西?如果最终用户必须手动设置JavaFX运行时以使其运行而不是仅仅安装JRE,我应该如何分发这些应用程序?没道理,所以我想我在这里完全没什么。
最后一个问题:是否有“快速简便的方式”来像在“好日子”中一样设置JavaFX 11的开发?因为现在我只是想坚持使用Java 8,而忘了所有麻烦,但我仍然想保持最新状态,所以...
答案 0 :(得分:6)
这里有关于JavaFX 11 here入门的完整指南,您可以选择自己的口味:命令行,ide,构建工具,模块化,非模块化...此外,您还可以检查javafx-11标记相关问题和有效答案。
至于包装,到目前为止已经涵盖了jlink和fat-jar。缺少的部分jpackage
几乎是there,因为它是Java 12的早期版本。您可以找到JavaFX 11的现有解决方案,例如this和this use case。
虽然现在看来您的情况更加复杂,但是MavenCentral提供的Java modularity和JavaFX带来了新的开发机会,但也可能使您脱离舒适的环境,直到您习惯了新的习惯。情况:模块化依赖项,Maven和Gradle构建工具,插件jlink和jpackage,...这是当今的常见要求。