#エラー内容
■ビルドは通るが、jarにすると下記のエラーが出る
Caused by: java.lang.NullPointerException: Location is required.
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3207)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097)
at code.Main.start(Main.java:13)
■ソースの階層
src
∟codeフォルダー
∟main.class
∟controller.class
∟fxmlフォルダー
∟mainView.fxml
■該当のソースコード
Parent root = FXMLLoader.load(getClass().getResource("../fxml/mainView.fxml"));
#とりあえずの解決
【../fxml/mainView.fxml】
fxmlを呼び出すときに上階層だと読めない?
■ソースの構造を変える
fxmlフォルダーをcodeフォルダーの中に入れる
src
∟codeフォルダー
∟main.class
∟controller.class
∟fxmlフォルダー
∟mainView.fxml
コードの変更
【../】を削除する
Parent root = FXMLLoader.load(getClass().getResource("fxml/mainView.fxml"));
jarが実行できた!