IntelliJ IDE 如何添加SDK

IntelliJ IDE how to add SDK

我从 here 下载了 JavaFX SDK,但是当我尝试将它添加到 IntelliJ 时出现错误“所选目录不是 JDK 的有效目录”。 [项目结构 -> 平台设置 -> SDK's -> 添加]

但我无法从 JavaFX 中找到 JDK,也许我理解 JDK 和 SDK 之间有问题。但是 IntelliJ 说“添加 SDK”但需要 JDK,我可以在设置的任何地方切换它吗?或者正如我上面所说,我理解错了。

提前致谢

编辑:下面的解决方案运行良好,这是我同时发现的 link

IntelliJ 并没有让 JavaFX 的使用变得那么容易。我发现最直观的方法是执行以下操作:

  1. 为要使用的 JavaFX 模块添加全局库。最简单的方法是使用 from Maven 并搜索 org.openjfx 然后添加您想要的模块(例如 controlsfxml 用于基本的 IntelliJ 生成的 JavaFX 项目)。

  2. 为您的应用创建一个类似于以下代码的 module-info.java 文件。

module MyModule {
    requires javafx.controls;
    requires javafx.fxml;
    exports mypackage;
}

这会创建对 javafx 模块的依赖并导出您的包,以便 javafx 反射代码可以访问它。

还有一种替代方法,将依赖项添加到应用程序运行时的命令行,但我发现上述方法更直接。

首先,确保已启用 JavaFX 插件(捆绑且默认)。然后,在一个新项目中,按 Ctrl + Alt + Shift + s => Libraries => + => Java。在这里,找到您下载的 JavaFX 文件夹,然后在 JavaFX 文件夹中找到 lib 文件夹。单击它,它不应该抱怨它不是一个有效的家。应用您的更改然后关闭对话框。

现在,在主菜单中,将鼠标悬停在 Run 上,然后单击 Edit configurations。在应用程序选项卡下,单击 Main(或您的文件的任何名称)。然后,在 Build and Run 部分旁边,将鼠标悬停在 Modify options => Add VM options 上,然后在文本区域中写入文件路径,粘贴:

--module-path /path/to/javafx/sdk --add-modules javafx.controls,javafx.fxml

确保将 /path/to/javafx/sdk 替换为 JavaFX 文件夹中 lib 文件夹的路径。如果文件夹的名称包含空格,请用引号将整个文件路径括起来。应用您的更改并关闭对话框。

大功告成!继续,编写您的 JavaFX 代码,然后点击 运行。瞧!

官方文档:https://www.jetbrains.com/help/idea/javafx.html