Hi,

I just wanted to make you aware that if you run a JavaFX-11 application
from within Eclipse it is very likely that you'll get an error like this.

> Exception in thread "WindowsNativeRunloopThread" java.lang.NoSuchMethodError: 
> <init>
>     at 
> javafx.graphics/com.sun.glass.ui.win.WinApplication.staticScreen_getScreens(Native
>  Method)
>     at javafx.graphics/com.sun.glass.ui.Screen.initScreens(Screen.java:412)
>     at 
> javafx.graphics/com.sun.glass.ui.Application.lambda$run$1(Application.java:152)
>     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)
>     at java.base/java.lang.Thread.run(Thread.java:834)
> Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
>     at 
> javafx.graphics/com.sun.prism.d3d.D3DPipeline.getAdapterOrdinal(D3DPipeline.java:205)
>     at 
> javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.assignScreensAdapters(QuantumToolkit.java:695)
>     at 
> javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.runToolkit(QuantumToolkit.java:313)
>     at 
> javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$startup$10(QuantumToolkit.java:258)
>     at 
> javafx.graphics/com.sun.glass.ui.Application.lambda$run$1(Application.java:153)
>     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)
>     at java.base/java.lang.Thread.run(Thread.java:834) 

Scary right! The reason is that JavaFX-11 is loading the wrong glass.dll
because Eclipse sets a java.library.path who also contains the
JVM-Directories used to launch your Eclipse IDE.

The simple work-around is to add
-Djava.library.path=C:/go-out-of-my-way-eclipse in your launch
configuration.

Small tiny question on the side: Wouldn't it make sense to version our
.dlls somehow to match the release eg glass-11.dll?

Tom

-- 
Tom Schindl, CTO
BestSolution.at EDV Systemhaus GmbH
Eduard-Bodem-Gasse 5-7. A-6020 Innsbruck
Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck

Reply via email to