JavaFX和IntelliJ错误:java.lang.模块,模块描述符无效异常

5lhxktic  于 2022-12-25  发布在  Java
关注(0)|答案(1)|浏览(415)

我用IntelliJ提供的JavaFX项目模板启动了一个新的JavaFX应用程序,它只会显示一个用场景构建器创建的GUI和一些线图,就我而言,代码正确而简单,它只是一个测试项目。
此外,我无法在IntelliJ中可视化.class文件
该消息是:

Error occurred during initialization of boot layer
java.lang.module.FindException: Error reading module: C:\Users\pv3\Desktop\PruebasFX_OracleFXProyectInicio\target\classes
Caused by: java.lang.module.InvalidModuleDescriptorException: GraficasVentPrueba1.class found in top-level directory (unnamed package not allowed in module)
    
Process finished with exit code 1

我的代码:

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.stage.Stage;
import java.io.IOException;

public class GraficasVentPrueba1 extends Application {

    @Override
    public void start(Stage stage) throws IOException{
        FXMLLoader launcherGraficas = new FXMLLoader(GraficasVentPrueba1.class.getResource("GraficasVentPrueba1.fxml"));
        Scene emergenteGraficas = new Scene(launcherGraficas.load());
        stage.setScene(emergenteGraficas);
        stage.show();
    }
    public static void main(String[] args) {
        launch(args);
    }
}

它应该只打开. fxml,但却显示了错误消息

ivqmmu1c

ivqmmu1c1#

*Java平台模块系统 *

在您的错误消息中,unnamed package not allowed in module 是此处的关键字。
检查由IntelliJ中的JavaFX项目模板创建的module-info.java文件。确保编辑该文件以跟上所做的更改。
👉 我猜您更改了类和/或包的名称,但没有编辑module-info.java文件以适应。
提示:在IntelliJ中更改应用中的类和包的名称时,请使用IntelliJ的 * 重构 * 功能。执行此操作时,module-info.java文件应自动更新。请参阅Rename refactorings手册
在使用JavaFX时,您必须了解Java Platform Module System。虽然对于某些其他类型的Java应用程序是可选的,但JavaFX应用程序需要符合Java模块化。
如前所述,要使用JavaFX,您必须同时了解Java包和Java模块。

相关问题