gpt4 book ai didi

java - 错误 : Could not find or load main class application. 主要由 : java. 引起 lang.NoClassDefFoundError: javafx/application/Application JDK 11

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:07:08 28 4
gpt4 key购买 nike

我被困在一个非常基本的问题上。我使用 JavaFX 创建了一个简单的 hello world 程序,它在 JDK 1.8 上运行良好。但是当我切换到 JDK-11 时,它会抛出以下异常:

Error: Could not find or load main class application.Main
Caused by: java.lang.NoClassDefFoundError: javafx/application/Application

以下是我在eclipse中写的代码。

package application;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.stage.Stage;
import javafx.scene.Parent;
import javafx.scene.Scene;


public class Main extends Application {

private Scene theScene;
@Override
public void start(Stage primaryStage) {
try {

FXMLLoader loader = new FXMLLoader(getClass().getResource("MyScene.fxml"));
Parent mainPane = loader.load();


theScene = new Scene(mainPane);
primaryStage.setScene(theScene);
primaryStage.show();

} catch(Exception e) {
e.printStackTrace();
}
}

public void setTheScene(Scene theScene) {
this.theScene = theScene;
}

public static void main(String[] args) {
launch(args);
}
}

最佳答案

从 stretch 升级到 buster 后,我在 debian 上遇到了同样的问题,但现在一切都很好:

java --version

openjdk 11.0.4 2019-07-16

要使用终端运行 java-fx 应用程序,请按照以下步骤操作:

  1. 安装 openjfx(如果尚未安装):
    sudo apt install openjfx

  2. 列出 javafx 库位置:
    dpkg-query -L openjfx
    输出应该是这样的:

. /usr /usr/share /usr/share/doc /usr/share/doc/openjfx /usr/share/doc/openjfx/TODO.Debian /usr/share/doc/openjfx/changelog.Debian.gz /usr/share/doc/openjfx/copyright /usr/share/openjfx /usr/share/openjfx/lib /usr/share/openjfx/lib/javafx.properties /usr/share/openjfx/lib/javafx.base.jar /usr/share/openjfx/lib/javafx.controls.jar /usr/share/openjfx/lib/javafx.fxml.jar /usr/share/openjfx/lib/javafx.graphics.jar /usr/share/openjfx/lib/javafx.media.jar /usr/share/openjfx/lib/javafx.swing.jar /usr/share/openjfx/lib/javafx.web.jar

  1. 通过包含 javafx 路径和模块运行 jar 应用程序:
    java --module-path $PATH_TO_OPENJFX-LIB --add-modules module_1,module_2,module_3,...,module_n -jar $PATH_TO_JAR_FILE

示例:

java --module-path /usr/share/openjfx/lib --add-modules=javafx.controls,javafx.fxml,javafx.base,javafx.media,javafx.web,javafx.swing -jar '/home/lotfi/Documents/MyAppfolder/my_application.jar'

关于java - 错误 : Could not find or load main class application. 主要由 : java. 引起 lang.NoClassDefFoundError: javafx/application/Application JDK 11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53319350/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com