2020-10-05
JAVAJAVAFXMAVEN

JavaFX 遺漏執行此應用程式所需的 javafx 程式實際執行元件的解決方法

錯誤: 遺漏執行此應用程式所 需的 javafx 程式實際執行元件 Error: JavaFX runtime components are missing, and are required to run this application 解決方法。

JavaFX

MyFxApp.java

package com.example;

import javafx.application.Application;
import javafx.stage.Stage;

public class MyFxApp extends Application {
    @Override
    public void start(Stage stage) throws Exception {
        stage.setTitle("My First JavaFX App");

        stage.show();
    }

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

可以看到這是再正常不過了的 maven 專案,可是我在運行 MyFxApp 的 main() 方法的時候,會出現這樣的錯誤:

錯誤: 遺漏執行此應用程式所 需的 javafx 程式實際執行元件 
Error: JavaFX runtime components are missing, and are required to run this application
解決方法

經過了一些網路上的調研,看起來是我的專案內缺少了 module-info.java 定義,只要創建好 module-info.java 就可以了。

創建 module-info.java:

module first.fx { // <- module 名稱請跟著自己的專案名稱改變
    requires javafx.controller;

    opens com.example; // <- package 請跟著自己的專案結構改變
}

加入再執行一次,就可以了。