1. ホーム
  2. java

[解決済み] モジュールが見つかりません: javafx.controls

2022-01-29 01:53:01

質問

JavaFX SDKをダウンロードし、解凍して PATH_TO_FX システム変数 この指示 . 以下のコード例で説明します。

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class HelloFX extends Application {

    @Override
    public void start(Stage stage) {
        String javaVersion = System.getProperty("java.version");
        String javafxVersion = System.getProperty("javafx.version");
        Label l = new Label("Hello, JavaFX " + javafxVersion + ", running on Java " + javaVersion + ".");
        Scene scene = new Scene(new StackPane(l), 640, 480);
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch();
    }
}

提案されたパターンでコンパイルしてみました。

javac --module-path $PATH_TO_FX --add-modules javafx.controls HelloFX.java

しかし、コンパイラは「モジュールが見つかりません:javafx.controls」とエラーを投げます。 Windows10です。JavaとJavaFXのバージョンは11.0.1です。

もう一度。私は行を追加しました --add-modules javafx.controls

解決するには?

3つのステップで問題を解決しました。

  1. 使用方法 %PATH_TO_FX% の代わりに PATH_TO_FX をコマンドラインに追加してください。

  2. 変数を再作成する(システム、ユーザーとも) PATH_TO_FX その値を引用符で囲んでください。ディレクトリとして C:³ Files³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³.com がスペースを含んでいるため、エラー "invalid flag" が発生しました。

  3. コンピュータを再起動して、変数を更新します。