JavaFXでException in Application start methodって言われて困った話
結論から言うとコンパイルのし忘れという初歩のミスをやらかしてた
JavaFXで作ったものをインポートして利用しようとしたところ
こんな感じに怒られた
Exception in Application start method
java.lang.reflect.InvocationTargetException
~~中略~~
Caused by: javafx.fxml.LoadException:
/C:/Users/h/o/g/e/fxml/StartGUI.fxml:13
fxmlがない?
パスを間違えているのかとフルパスを指定しても変わらない
ちなみにエラーの箇所はこんな感じ(一部伏字)
実にありふれた文
BorderPane root = FXMLLoader.load( getClass( ).getResource( "/**/fxml/StartGUI.fxml" ) );
エラーの下の方をよく読むと、コントローラーが見つからない?と言っている
Caused by: java.lang.ClassNotFoundException: hoge.controller.StartGUIController
パスも間違ってないのになぜだと思いきや
Controllerのコンパイルを忘れている
コピってきたからclassファイルもあるし、修正後のコンパイルに気づかなかった
通りでStackOverflowにも回答がないわけです
初歩的なミスが一番怖い
エラー全文
Exception in Application start method java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(Lau ncherImpl.java:363) at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImp l.java:303) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767) Caused by: java.lang.RuntimeException: Exception in Application start method at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherIm pl.java:875) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$147( LauncherImpl.java:157) at com.sun.javafx.application.LauncherImpl$$Lambda$48/501263526.run(Unkn own Source) at java.lang.Thread.run(Thread.java:745) Caused by: javafx.fxml.LoadException: /C:/Users/**/**/**/**/fxml/StartGUI.fxml:13 at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2595) at javafx.fxml.FXMLLoader.access$700(FXMLLoader.java:104) at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java: 918) at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FX MLLoader.java:967) at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:21 6) at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.ja va:740) at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2701) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2521) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2435) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3208) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3169) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3142) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3118) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3098) at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3091) at **.fx.StartSet.start(StartSet.java:31) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$153 (LauncherImpl.java:821) at com.sun.javafx.application.LauncherImpl$$Lambda$51/934820170.run(Unkn own Source) at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$166(Platfor mImpl.java:323) at com.sun.javafx.application.PlatformImpl$$Lambda$44/661672156.run(Unkn own Source) at com.sun.javafx.application.PlatformImpl.lambda$null$164(PlatformImpl. java:292) at com.sun.javafx.application.PlatformImpl$$Lambda$47/355644776.run(Unkn own Source) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$165(PlatformI mpl.java:291) at com.sun.javafx.application.PlatformImpl$$Lambda$45/128893786.run(Unkn own Source) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatch er.java:95) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$141(WinApplication.ja va:102) at com.sun.glass.ui.win.WinApplication$$Lambda$37/1349277854.run(Unknown Source) ... 1 more Caused by: java.lang.ClassNotFoundException: **.controller.StartGUIController at java.net.URLClassLoader$1.run(URLClassLoader.java:372) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:360) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java: 916) ... 27 more Exception running application **.fx.StartSet