加载FXML文件时发生JavaFX LoadException

加载FXML文件时发生JavaFX LoadException,java,javafx,scenebuilder,Java,Javafx,Scenebuilder,每次运行JavaFX应用程序时,我都会遇到以下错误 15:11:52.778 [JavaFX Application Thread] ERROR org.fhl.Manifesto - javafx.fxml.LoadException: /C:/ManGenFX/target/classes/dataController.fxml /C:/ManGenFX/target/classes/ManifestoMain.fxml:7 但只有在主控制器上添加initialize方法时才会发生

每次运行JavaFX应用程序时,我都会遇到以下错误

15:11:52.778 [JavaFX Application Thread] ERROR org.fhl.Manifesto - javafx.fxml.LoadException: 
/C:/ManGenFX/target/classes/dataController.fxml
/C:/ManGenFX/target/classes/ManifestoMain.fxml:7
但只有在主控制器上添加initialize方法时才会发生

    public class MainController{

        @FXML
        GenerateController genCont;

        @FXML
        private Pane generatePane;
        @FXML
        AnchorPane mainFx;

        private Node source;

    //Other Button, TextFields and Labels declaration

    @FXML
    private void browseFile(ActionEvent x) {
    //Browse file definition
    }

    @FXML
    private void savePath(ActionEvent x) {
    //Save file definition
    }

//Problem with this method
    @FXML
    public void initialize() {
        System.out.println("Initialize generate controller panel");
        logger.info("Initialize generate controller panel");

        genCont.init(this);

        }
    }
如果我删除MainController类上的initialize方法,它将不会抛出任何错误,但如果我单击下面GenerateController类中定义的generate按钮,则不会发生任何错误

public class GenerateController {
    @FXML
    Button btnGenerate;
    @FXML
    Pane paneGen;

    @FXML
    public void generateMan(ActionEvent event) {

//generateMan body when Generate button is clicked

    }

    public void init(MainController mc) {
        System.out.println("Init mainControl");
        mainControl = mc;

    }

public void validate() {
//Definition of method body here
  }
}
这是主课

public class Man extends Application {

    private Stage mainStage;

    @Override
    public void start(Stage primaryStage) {

        this.mainStage = primaryStage;
        this.mainStage.setTitle("Manifest");

        try{

            Parent root = FXMLLoader.load(getClass().getResource("/ManifestoMain.fxml"));

            Scene sMain = new Scene(root);

            mainStage.setScene(sMain);

            mainStage.show();

        }catch(IOException ioE) {
            logger.error(ioE);
        }
    }

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

另外,我将dataController.fxml、ManifestoMain.fxml和generateView.fxml放在resources文件夹下,但访问这些文件没有任何问题。感谢您的帮助。

在问题中发布完整的堆栈跟踪。您是否也可以发布FXML文件,并指出哪一行是
manifestoMain.FXML
中的第7行?@James\D不幸的是,这是我在点击run时收到的唯一一个有点奇怪的错误。将
ioE.printStackTrace()
添加到catch块中,看看它是否给出了完整的错误。可能您的记录器以某种方式配置为不生成完整的堆栈跟踪。我需要将其放置在哪里?在catch块中。在问题中发布完整的堆栈跟踪。您是否也可以发布FXML文件,并指出哪一行是
manifestoMain.FXML
中的第7行?@James\D不幸的是,这是我在点击run时收到的唯一一个有点奇怪的错误。将
ioE.printStackTrace()
添加到catch块中,看看它是否给出了完整的错误。可能您的记录器以某种方式配置为不生成完整堆栈跟踪。我需要将其放置在哪里?在catch块中。