【问题标题】:How to Fix NoClassDefFoundError in JavaFX?如何修复 JavaFX 中的 NoClassDefFoundError?
【发布时间】:2019-07-26 15:16:59
【问题描述】:

我正在尝试使用 JavaFX 构建一个小型用户界面,但出现如下错误:

错误:无法找到或加载主类 myApp 原因: java.lang.NoClassDefFoundError: javafx/application/Application

这是我的代码: 我使用 jdk 12.0.2

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;

public class myApp extends Application{
public static void main(String[] args) {
    Phonebook mybook = new Phonebook();
    launch(args);


}
@Override
public void start(Stage primaryStage) throws Exception {
    Group group = new Group();
    Scene scene = new Scene(group, 600, 300);
    scene.setFill(Color.GRAY);
    primaryStage.setTitle("Phone Book");
    primaryStage.setScene(scene);
    primaryStage.show();

}

这是我正在使用的库和 jdk: Image1

【问题讨论】:

  • 这个 javafx-8.9.1.jar 在我看来非常可疑。
  • @mipa 你能推荐不同的 javafx jars 吗?
  • 根据您的图像,您正在混合两组单独的 javafx jar。它们也位于不同的文件夹中。这个 javafx-8.9.1.jar 似乎不属于另一组 javafx jar。
  • @mipa 我删了,还是不行

标签: java user-interface javafx


【解决方案1】:

我认为 JavaFX 不再是 JDK > 9 的一部分。 (你的版本是 12.x.x)

这可能会对您有所帮助: https://openjfx.io/openjfx-docs/#install-javafx

(假设您使用的是 Maven) 如果这没有帮助,请尝试清理并构建您的应用程序。 有时 Maven 无法识别新添加的依赖项。

【讨论】:

  • 我正在尝试首先使用 eclipse 运行它。我应该下载并安装 jdk 9 并尝试吗?
  • @LaelAvraham 是的,如果您使用 Ant,请下载 jar,或者如果您使用 Maven,则只需将其添加为依赖项。尝试将 JavaFX 库添加到您的项目中。我强烈建议您使用 Maven。
  • 不,如果您使用的是 JavaFX 12,您还应该使用 JDK 12 并按照说明进行操作。
  • 您的链接是关于在外部运行它。我正在尝试使用 eclipse 运行它
  • 我已经发布了使用 Eclipse 运行项目的文档链接,但你又来了:openjfx.io/openjfx-docs/#IDE-Eclipse
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-04
  • 2021-08-17
  • 1970-01-01
  • 2020-10-14
  • 1970-01-01
相关资源
最近更新 更多