IntelliJ无法识别OpenJDK 11的JavaFX 11

我很难让IntellJ识别JavaFX包。对于一个新的JavaFX项目,在使用OpenJDK 11构建该项目时,IntelliJ无法识别JavaFX包。

我进口了openjfx:javafx-base-11来自Maven回购公司。

我看过其他问题,解决方案似乎包括检查字节码是否在正确的级别(我的是),以及项目语言是否正确(我的是正确的)。

有人有什么想法吗?


HUH函数
浏览 944回答 3
3回答

慕沐林林

正如评论中提到的,启动指南是从Java 11和JavaFX 11开始的地方。像Java 11之前那样工作的关键是理解:JavaFX 11不再是JDK的一部分了。您可以不同的方式获得它,无论是作为SDK还是作为常规依赖项(maven/gradle)。您需要将它包含到项目的模块路径中,即使您的项目不是模块化的。JavaFX项目如果您在IntelliJ(没有Maven或Gradle)中创建一个常规JavaFX默认项目,我建议您从这里..请注意,也有jmods,但对于非模块化项目,SDK是首选。以下是运行默认项目的简单步骤:创建JavaFX项目设置JDK 11(指向本地Java 11版本)将JavaFX11SDK添加为一个库。URL可能类似于/Users/<user>/Downloads/javafx-sdk-11/lib/..一旦您这样做,您将注意到JavaFX类现在编辑器中被识别了。在运行默认项目之前,只需将这些添加到VM选项:--module-path /Users/<user>/Downloads/javafx-sdk-11/lib --add-modules=javafx.controls,javafx.fxml跑马文如果使用Maven构建项目,请执行以下步骤:使用JavaFX原型创建Maven项目设置JDK 11(指向本地Java 11版本)添加JavaFX 11依赖项。<dependencies> &nbsp;&nbsp;&nbsp;&nbsp;<dependency> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<groupId>org.openjfx</groupId> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<artifactId>javafx-controls</artifactId> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<version>11</version> &nbsp;&nbsp;&nbsp;&nbsp;</dependency> &nbsp;&nbsp;&nbsp;&nbsp;<dependency> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<groupId>org.openjfx</groupId> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<artifactId>javafx-fxml</artifactId> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<version>11</version> &nbsp;&nbsp;&nbsp;&nbsp;</dependency></dependencies>一旦您这样做,您将注意到JavaFX类现在编辑器中被识别了。您将注意到,Maven将为您管理所需的依赖关系:它将为javafx.Control添加javafx.base和javafx.Graphics,但最重要的是,它将添加所需的分类器基于你的平台。就我而言,麦克。这就是为什么你的罐子org.openjfx:javafx-controls:11是空空,因为有三种可能的分类器(Windows、Linux和Mac平台),它们包含所有类和本机实现。如果您仍然希望转到.m2repo并手动从其中获取依赖项,请确保选择正确的依赖项(例如.m2/repository/org/openjfx/javafx-controls/11/javafx-controls-11-mac.jar)将默认maven插件替换为这里.跑mvn compile exec:java它应该能起作用。对于Gradle项目也有类似的工作,详细说明这里.编辑上述入门指南包含更新后的文献资料以及IntelliJ的示例项目:JavaFX 11没有Maven/Gradle,请参见非模样或模块样本项目。使用Maven的JavaFX 11,请参见非模样或模块样本项目。使用Gradle的JavaFX 11,请参见非模样或模块样本项目。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java