I managed to solve my problem. It's actually looking for the dlls, so using
-Djava.library.path="...\rt\modules\javafx.graphics\build\module-lib" will start the application properly. If anyone can confirm this problem and solution I'll add this step to the wiki. On Wed, Nov 7, 2018 at 6:21 PM Nir Lisker <nlis...@gmail.com> wrote: > I have a related problem when developing JavaFX in Eclipse and Win10 that > started in 11. > > I created a modular project and in its build configuration (in Eclipse) I > added the JavaFX base and graphics projects (that point to rt\modules\...) > and OpenJDK11 to the module path. > In the module-info file I required the JavaFX modules and exported my > package. > > Compilation is fine, but during runtime (with -Dprism.verbose=true) I get > an error: > > Prism pipeline init order: d3d sw > Using Double Precision Marlin Rasterizer > Using dirty region optimizations > Not using texture mask for primitives > Not forcing power of 2 sizes for textures > Using hardware CLAMP_TO_ZERO mode > Opting in for HiDPI pixel scaling > Prism pipeline name = com.sun.prism.d3d.D3DPipeline > Loading D3D native library ... > // Error here: // > GraphicsPipeline.createPipeline failed for com.sun.prism.d3d.D3DPipeline > java.lang.UnsatisfiedLinkError: no prism_sw in java.library.path: [see > below] > at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2660) > at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:829) > at java.base/java.lang.System.loadLibrary(System.java:1867) > at > javafx.graphics/com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:150) > at > javafx.graphics/com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:52) > at > javafx.graphics/com.sun.prism.d3d.D3DPipeline.lambda$0(D3DPipeline.java:48) > at java.base/java.security.AccessController.doPrivileged(Native Method) > at > javafx.graphics/com.sun.prism.d3d.D3DPipeline.<clinit>(D3DPipeline.java:44) > at java.base/java.lang.Class.forName0(Native Method) > at java.base/java.lang.Class.forName(Class.java:315) > at > javafx.graphics/com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:187) > at > javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:91) > at > javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124) > at java.base/java.lang.Thread.run(Thread.java:834) > *** Fallback to Prism SW pipeline > Prism pipeline name = com.sun.prism.sw.SWPipeline > GraphicsPipeline.createPipeline failed for com.sun.prism.sw.SWPipeline > java.lang.UnsatisfiedLinkError: no prism_sw in java.library.path: [see > below] > at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2660) > at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:829) > at java.base/java.lang.System.loadLibrary(System.java:1867) > at > javafx.graphics/com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:150) > at > javafx.graphics/com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:52) > at javafx.graphics/com.sun.prism.sw.SWPipeline.lambda$0(SWPipeline.java:42) > at java.base/java.security.AccessController.doPrivileged(Native Method) > at javafx.graphics/com.sun.prism.sw.SWPipeline.<clinit>(SWPipeline.java:41) > at java.base/java.lang.Class.forName0(Native Method) > at java.base/java.lang.Class.forName(Class.java:315) > at > javafx.graphics/com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:187) > at > javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:91) > at > javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124) > at java.base/java.lang.Thread.run(Thread.java:834) > Graphics Device initialization failed for : d3d, sw > Error initializing QuantumRenderer: no suitable pipeline found > // ... > > The paths listed at the end are those from %PATH% and none point to the > development modules. So, I added to the runtime VM args in the launch > configuration: > > -Djava.library.path="...\rt\modules\javafx.graphics\bin" > and I also tried with > "...\rt\modules\javafx.graphics\bin\com\sun\prism\d3d" because this is > where com.sun.prism.d3d.D3DPipeline is. > > I get the same error. Did anyone encounter this? > > - Nir > > On Sun, Nov 4, 2018 at 6:40 PM Tom Schindl <tom.schi...@bestsolution.at> > wrote: > >> I think the more general problem is that they don‘t run on the >> module-path - in the m2e case this because the modules are transitive deps >> and those are not supported properly >> >> Tom >> >> Von meinem iPhone gesendet >> >> > Am 04.11.2018 um 16:17 schrieb José Pereda <jose.per...@gluonhq.com>: >> > >> > I've just noticed that this issue happens not only with Maven but also >> with >> > Gradle projects (Gradle + Eclipse 2018-09 + Windows with Oracle JDK >> 1.8), >> > running gradle tasks from Eclipse. >> > >> > The same proposed workaround can be applied to the build file: >> > >> > run { >> > >> > systemProperty "java.library.path", "C:\tmp" >> > >> > } >> > >> > >> > >> > >> > On Mon, Oct 22, 2018 at 4:43 PM Kevin Rushforth < >> kevin.rushfo...@oracle.com> >> > wrote: >> > >> >> >> >>> Renaming the native libraries in JavaFX would probably solve this, but >> >> that >> >>> seems the wrong solution to me. >> >> >> >> Yes, it seems like a workaround rather than a fix... >> >> >> >> -- Kevin >> >> >> >> >> >>> On 10/21/2018 10:45 AM, Johan Vos wrote: >> >>> Hi Tom, >> >>> >> >>> Nice workaround, but what do you think needs to be done to fix it? Can >> >> the >> >>> java.library.path somehow be changed in a plugin or so? >> >>> Renaming the native libraries in JavaFX would probably solve this, but >> >> that >> >>> seems the wrong solution to me. >> >>> >> >>> - Johan >> >>> >> >>> On Thu, Oct 18, 2018 at 3:39 PM Tom Schindl < >> tom.schi...@bestsolution.at >> >>> >> >>> wrote: >> >>> >> >>>> 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 >> >>>> >> >> >> >> >> > >> > -- >> >>