我把问题缩小到一个非常简单的javafx应用程序。我只想要一个没有任何蓬松特征的基本窗口。你可以在下面看到我的代码。问题是它在eclipse环境中工作得很好,但是当我将它导出为可运行的jar并在逻辑上双击它时,什么都没有出现。我找了好几个小时,尝试了网上提出的几种解决办法。这是我为解决这个问题而不顾一切的努力的一个缩影。
首先,我将此代码添加到vm参数中
--module-path "C:\Program Files\JavaFX\javafx-sdk-15.0.1\lib" --add-modules javafx.controls
其次,我使用命令行编写了java类,并尝试运行它来查看出了什么问题。命令提示:
Error: Could not find or load main class saeedhashemi.MainClas
Caused by: java.lang.NoClassDefFoundError: javafx/application/Application
然后,在命令提示符中运行java的行出现之前,我添加了vm参数中存在的代码,我的应用程序窗口出现了,但是这个技巧仍然不能解决我的主要问题。第三,我解压缩了runnable jar,以查看javafx库是否在正确的位置可用。最后,作为最后一根稻草,我尝试直接在命令行中运行runnable jar(由eclipse生成),令我惊讶的是cmd说:
Error: JavaFX runtime components are missing, and are required to run this application
有没有人能帮我走出这地狱。为了获得更多的信息,我不熟悉maven和gradle,我想做一个简单的项目
public class MainClass extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) throws Exception {
Canvas canvas = new Canvas(600, 600);
AnchorPane root = new AnchorPane(canvas);
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
}
暂无答案!
目前还没有任何答案,快来回答吧!