JavaFX InvocationTarget Fix - Are there better alternatives?

37
April 22, 2019, at 6:30 PM

Whenever I use JavaFX's FXMLLoader.load(URL) I end up with InvocationTargetException like this:

Exception in Application start method
java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:464)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: Exception in Application start method
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:900)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.IllegalAccessError: class com.sun.javafx.fxml.FXMLLoaderHelper (in unnamed module @0x37b175c4) cannot access class com.sun.javafx.util.Utils (in module javafx.graphics) because module javafx.graphics does not export com.sun.javafx.util to unnamed module @0x37b175c4
    at com.sun.javafx.fxml.FXMLLoaderHelper.<clinit>(FXMLLoaderHelper.java:38)
    at javafx.fxml.FXMLLoader.<clinit>(FXMLLoader.java:2056)
    at net.chatbrain.desktop.misc.StageManager.changeScene(StageManager.java:90)
    at net.chatbrain.desktop.misc.StageManager.startup(StageManager.java:81)
    at net.chatbrain.desktop.models.MainStage.start(MainStage.java:18)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
    at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
    ... 1 more
Exception running application net.chatbrain.desktop.models.MainStage

However, I was able to fix the problem by adding a bunch of --add-export VM-Flags, e.g. --add-exports=javafx.graphics/com.sun.javafx.reflect=ALL-UNNAMED

I have added like 20 of these, each one of them apparently solves problem, and each time I add one of these, another arose until I came to roughly 10. After the GUI finally worked, but as I proceeded to develop, rerunning spawned new InvocationTargetExceptions. This has since happened for every change I made. Adding this large amount did solve the problem,but it's very inconvenient and inelegant to me. Additionaly, I have to apply this everytime I'm working with JavaFX. So my question: Is there any better alternative to this that fixes this permanentely? Thanks in advance, John

READ ALSO
Blocking Queue Take out of Order

Blocking Queue Take out of Order

I have a simple blocking queue containing IntegersIn a multi thread environment I am taking and adding elements to the the back of the queue

38
WebServiceContext is coming as NULL in WAS 9.0.0.9

WebServiceContext is coming as NULL in WAS 9.0.0.9

I have created an web-service using JAX-WS and WAS 90

22
Is there a way to attach JSON Web Tokens to an HTML form POST request?

Is there a way to attach JSON Web Tokens to an HTML form POST request?

I'm building a blog using nodejs (no Express) where users can comment on posts

56
Execute SQL query on HTML form element ( Dropdown ) onchange event

Execute SQL query on HTML form element ( Dropdown ) onchange event

I have trying to execute SQL query when we change the dropdown valuesSince we can't execute it using JavaScript , How can we do that

29