错误:无法找到或加载主类应用程序。Main JAVAFX

问题描述 投票:0回答:4

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

enter image description here

这消除了有关 import javafx not returned 的所有错误。

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

“错误:无法找到或加载主类应用程序。Main 引起原因:java.lang.NoClassDefFoundError: javafx/application/Application"

如何消除这个错误?

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

我也在使用eclipse。

enter image description here

    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);
    }
}

类文件中没有错误。

java eclipse javafx
4个回答
11
投票

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

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

  1. 添加虚拟机参数 要解决此问题,请单击“运行”->“运行配置...”->“Java 应用程序”,为名为
    hellofx
    的项目创建一个新的启动配置,并添加以下 VM 参数:

Linux/Mac 窗户

--模块路径“\path o\javafx-sdk-12.0.1\lib”--add-modules javafx.controls,javafx.fxml 警告:请确保选项:

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


7
投票

收到错误后这对我有用:

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

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

2
投票

这就是我解决这个问题的方法。

步骤#1:

  • 创建新文件“module-info.java”,如下图所示: 项目结构

步骤#2

  • “module-info.java”文件的内容应如下所示:
module Example {
    requires javafx.fxml;
    requires javafx.controls;
    
    opens application;
} 

0
投票

这与我合作,不添加以逗号分隔的 fxml 文件,将每个文件添加为分隔选项

在虚拟机参数框中输入: --module-path "\path o\javafx-sdk-12.0.1\lib" --add-modules javafx.controls --add-modules javafx.fxml

© www.soinside.com 2019 - 2024. All rights reserved.