【发布时间】:2022-01-23 15:25:58
【问题描述】:
所以我已经下载了 JavaFX SDK,我正在使用 IntelliJ Idea 编辑器。我在系统和用户环境变量路径中设置:C:\Program Files\Java\javafx-sdk-17.0.2\lib
这是我正在尝试使用的代码:
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception{
Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
primaryStage.setTitle(" ");
Scene scene = new Scene(root);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
我将其放入位于 Run -> Edit Configurations 的虚拟机选项中:--module-path %PATH_TO_FX% --add-modules=javafx.controls。但我仍然收到以下错误:java.lang.module.FindException: Module javafx.controls not found。
这是一个项目结构:
这是使用库的路径:
【问题讨论】:
-
打开文件 -> 项目结构并在那里检查您的项目 SDK 设置。是不是指向同一个JDK?
-
@ThomasTimbul 我不确定,SDK 版本是 17,java-fx SDK(在全局库中)是 17.0.2,这有关系吗?我上传了截图
-
看起来正确(右侧显示完整路径)。它是一个模块化项目吗?如果您的项目中有 module-info.java,您可能需要在其中添加 JavaFX 作为依赖项,或删除该文件(使您自己的项目成为非模块化的)。还要检查 JavaFX 插件是否已按照 jetbrains.com/help/idea/javafx.html#check-plugin 启用
-
@ThomasTimbul 我的项目是非模块化的,所以我不明白问题出在哪里
-
@jewelsea 我试图在路径和环境变量上使用引号,但它仍然没有影响任何更改,我也尝试将它添加到没有空格的位置并且发生相同的错误。
标签: java intellij-idea javafx sdk environment-variables