【问题标题】:"Could not find or load main class" while trying to use JavaFX in Eclipse尝试在 Eclipse 中使用 JavaFX 时“找不到或加载主类”
【发布时间】:2019-10-31 17:49:47
【问题描述】:

java 版本 1.8.0_221 日食版本 2019-06 (4.12.0) 我正在尝试制作一个基本的 JavaFX 程序。我已将 jfxrt 外部 jar 导入到模块构建路径下的库选项卡中。

我收到此错误“错误:无法找到或加载主类 firstFX.eighthTry 引起:java.lang.NoClassDefFoundError: javafx/application/Application"

我在网上找到的唯一建议告诉我摆脱任何外部 jar,但我需要 jfxswt 才能使用 JavaFX。我也尝试过使用 Project > Clean,但这也没有做任何事情。

我很茫然,有什么办法可以解决这个问题吗?代码如下

package firstFX;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class eighthTry extends Application{

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        launch(args);
    }

    @Override
    public void start(Stage arg0){
        // TODO Auto-generated method stub
        arg0.setTitle("Hello World!");

        final Button btn = new Button();
        btn.setText("Click Me!");

        final StackPane root = new StackPane();
        root.getChildren().add(btn);

        arg0.setScene(new Scene(root, 300, 250));
        arg0.show();

    }

}

编辑: 我已经完成了 Eclipse 的全新安装(现在是 2019-09),还通过 Help>Install new software 安装了 e(fx)clipse,然后从 http://download.eclipse.org/efxclipse/updates-released/3.3.0/site 安装了这两个东西。我关注了this tutorial

对于我的代码,我在“属性”>“Java 构建路径”>“库”>“模块路径”下添加了 JavaFX SDK。然后我把它放在 Order and Export 选项卡的顶部。

不幸的是,这并没有改变任何东西。我仍然遇到与上面相同的错误。

另外,我弄错了我需要的外部 jar 的名称。我已经用 jfxrt.jar 替换了 jfxswt.jar。但是,这并没有解决错误。

【问题讨论】:

  • 清理项目并在eclipse中刷新,试试看可能可行。
  • 它实际上应该在没有jfxswt.jar 的情况下工作 - 缺少的类应该在 JDK8/JRE8 附带的 jfxrt.jar 中(在 ext 目录中) - 确保 JavaSE 的 JRE 系统库 1.8 包含在您的项目中(JavaFX 是 Java 8 的一部分,但不是 Java 更高版本的一部分)
  • 我这里没有 2019-06,但在 2019-03 和 2019-09 工作得很好 - 只需要更改项目以包含 JRE8(Java 构建路径 - 库 - JRE 系统库 - 执行环境: 8 {and java JDK8 configured} or Alternate JRE: 8)
  • 在模块构建路径下听起来很可疑:java8 没有模块

标签: java eclipse javafx


【解决方案1】:

不确定它的外观,但您的课程缺少包 firstFX;它在一个名为 firstFX... 的文件夹中吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-21
    • 2016-09-23
    • 2014-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-09
    相关资源
    最近更新 更多