在项目属性下的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);
}
}
类文件中没有错误。
答案 0 :(得分:2)
收到错误后,这对我有用:
找不到或加载主类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 :(得分:1)
跟随@Ashish链接openjfx.io/openjfx-docs
我执行了以下操作,并修复了该错误:
hellofx
的项目创建新的启动配置,并添加以下VM参数:Linux / Mac Windows
-模块路径“ \ path \ to \ javafx-sdk-12.0.1 \ lib” --add-modules javafx.controls,javafx.fxml 警告:请确保以下选项:
在使用SWT启动时使用-XstartOnFirstThread参数 未选择。 VM参数单击“应用”,然后关闭对话框。
答案 2 :(得分:0)
嗨,这就是我解决这个问题的方式。
步骤1:
步骤2
module Example {
requires javafx.fxml;
requires javafx.controls;
opens application;
}