我用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,但却显示了错误消息
1条答案
按热度按时间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模块。