错误:无法找到或加载主类 application.Main JAVAFX

3 java eclipse javafx

在我的项目属性下的 Java Build Path Libraries 下,我在 Modulepath 下有名为 javafx12 的用户库。

在此处输入图片说明

这消除了有关未解决的导入 javafx 的所有错误。

当我尝试运行我的项目时,我得到

“错误:无法找到或加载主类应用程序。主要导致:java.lang.NoClassDefFoundError:javafx/application/Application”

我如何摆脱这个错误?

我正在使用 Java SE 12 又名 JDK 12。

我也在使用日食。

在此处输入图片说明

    package application;

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;

public class Main extends Application {
    @Override
    public void start(Stage primaryStage) {
        try {
            BorderPane root = new BorderPane();
            Scene scene = new Scene(root,400,400);
            scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
            primaryStage.setScene(scene);
            primaryStage.show();
        } catch(Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        launch(args);
    }
}
Run Code Online (Sandbox Code Playgroud)

类文件中没有错误。

小智 10

关注@Ashish 链接 openjfx.io/openjfx-docs

我执行了以下操作并修复了错误:

  1. 添加 VM 参数 要解决此问题,请单击 Run -> Run Configurations... -> Java Application,为名为的项目创建一个新的启动配置hellofx并添加这些 VM 参数:

Linux/Mac 视窗

--module-path "\path\to\javafx-sdk-12.0.1\lib" --add-modules javafx.controls,javafx.fxml 警告:确保选项:

未选择使用 SWT 启动时使用 -XstartOnFirstThread 参数。VM 参数 单击应用并关闭对话框。


小智 6

收到错误后这对我有用:

无法找到或加载主类 application.Main 原因为:java.lang.ClassNotFoundException:尝试在 Eclipse 中使用 JavaFX 时 application.Main

  1. 运行然后运行配置
  2. 在 Main 中,选择正确的 Project 和 Main 类名称
  3. 在参数中,在 VM 参数框中输入以下内容: --module-path "\path\to\javafx-sdk-12.0.1\lib" --add-modules javafx.controls,javafx.fxml
  4. 申请