在我的项目属性下的 Java Build Path Libraries 下,我在 Modulepath 下有一个名为 javafx12 的用户库。
这消除了有关 import javafx not returned 的所有错误。
当我尝试运行我的项目时,我得到
“错误:无法找到或加载主类应用程序。Main 引起原因:java.lang.NoClassDefFoundError: javafx/application/Application"
如何消除这个错误?
我正在使用 Java SE 12 又名 JDK 12。
我也在使用eclipse。
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);
}
}
类文件中没有错误。
关注@Ashish 链接 openjfx.io/openjfx-docs
我执行了以下操作并修复了错误:
hellofx
的项目创建一个新的启动配置,并添加以下 VM 参数:Linux/Mac 窗户
--模块路径“\path o\javafx-sdk-12.0.1\lib”--add-modules javafx.controls,javafx.fxml 警告:请确保选项:
使用 SWT 启动时使用 -XstartOnFirstThread 参数 未选择。 VM 参数 单击“应用”并关闭对话框。
收到错误后这对我有用:
无法找到或加载主类application.Main 原因为:java.lang.ClassNotFoundException:application.Main 尝试在 Eclipse 中使用 JavaFX 时
--module-path "\path\to\javafx-sdk-12.0.1\lib" --add-modules javafx.controls,javafx.fxml
这就是我解决这个问题的方法。
步骤#1:
步骤#2
module Example {
requires javafx.fxml;
requires javafx.controls;
opens application;
}
这与我合作,不添加以逗号分隔的 fxml 文件,将每个文件添加为分隔选项
在虚拟机参数框中输入: --module-path "\path o\javafx-sdk-12.0.1\lib" --add-modules javafx.controls --add-modules javafx.fxml