[英]JavaFX: Location is not set error in cmd
我的項目在eclipse中運行良好,但是當我在cmd中運行項目的jar時,出現錯誤java.lang.IllegalStateException: Location is not set.
看來我的FXML沒有正確加載。 我知道這個問題已經問過很多遍了,但是沒有一個可以解決我的問題。 我嘗試使用
FXMLLoader loader = new FXMLLoader(Main.class.getResource("/application/MainWIndowView.fxml"));
AnchorPane root = (AnchorPane) loader.load();
但我仍然有錯誤。
該方法在eclipse中運行:
public void showMainWIndow() throws IOException, SQLException {
FXMLLoader loader = new FXMLLoader(Main.class.getResource("/application/MainWIndowView.fxml"));
AnchorPane root = (AnchorPane) loader.load();
MainWindowController controller = loader.getController();
controller.setMain(this, primaryStage);
controller.setKeyPress();
controller.bindWidthAndHeight();
Scene scene = new Scene(root);
primaryStage.setScene(scene);
primaryStage.show();
}
我的代碼有什么問題?
簡單的改變
Main.class.getResource("/application/MainWIndowView.fxml")
至
Main.class.getResource("MainWindowView.fxml")
並注意大小寫,因為MainWIndowView.fxml
有一個大寫的I
,但文件名為MainWindowView.fxml
。
感謝@James_D指出:
當您在Eclipse中進行開發時運行時,它將從文件系統中加載類。 因此,如果使用的操作系統對待文件的方式相同,無論文件名大小寫如何,則它將找到正確的資源。 顯然,在jar文件(或任何明智的操作系統)中並非如此。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.