Windows Installation Instructions, All DLL Files Missing
Scott Palmer
swpalmer at gmail.com
Fri Apr 17 19:23:12 UTC 2020
I use jlink and jpackage to distribute JavaFX applications.
You suggest there will be a problem if you use jlink, but it will work if you include the needed javafx modules. The .jmod files contain the necessary native libraries and jlink will build a JRE that has the DLLs in the right place for the runtime to find them.
Modifying your PATH is not the right way to do this. Distributing a runtime with your application is the right way to solve this. The jlink and jpackage tools make this fairly easy. I use a custom Gradle script to bundle my application, it works well.
Scott
> On Apr 17, 2020, at 2:55 PM, Christopher Miles <twitch at nervestaple.com> wrote:
>
> I manage a project[0] that leverages JavaFX. It's been a while since I've worked on this project, almost two years. At that time JavaFX was bundled with the Java runtime from Oracle. The few customers I had would simply run the application from the bundled launcher and as long as they had Java installed, it would work.
>
> It's time for me to add some features to the project, I am now using OpenJDK 14.0.1 and I installed the OpenJavaFX package and followed the instructions[1] from the following URL:
>
> https://openjfx.io/openjfx-docs/#install-javafx
>
> I am on Windows and followed the instructions for that platform. Unfortunately, things didn't really work. The error was as follows:
>
> Graphics Device initialization failed for : d3d, sw Error initializing QuantumRenderer: no suitable pipeline found java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRend erer: no suitable pipeline found at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(Unkno wn Source)
>
> I fussed with this and that but nothing made a difference. Eventually I tried adding the "bin" directory from the JavaFX distribution to my path. This is the entry I added to my global PATH variable:
>
> C:\Program Files\Java\javafx-sdk-14\bin
>
> Is this the right way to do this and, if so, why isn't this included in the directions? Is this a Windows specific issue?
>
> Also, what impact does this have on distribution of applications?
>
> Looking at the "Runtime Images" instructions, it looks like the same issues will be present. Those instructions use `jlink` to point to the JavaFX libraries and the JAVAFX modules (distributed in another package) but also leave off references to the DLL files in the "bin" directory. I am worried that I will need to have people manually install the OpenJavaFX distribution and add the "bin" directory to their path in order to run my application. Please say it's not so!
>
> Any help or pointers to additional documentation would be very much appreciated! I have made it over the bumps and can now continue development of my application, my next concern is distributing it to customers.
>
> --
> Miles
>
> [0]: https://github.com/cmiles74/xmltool
> [1]: https://openjfx.io/openjfx-docs/#install-javafx
More information about the openjfx-dev
mailing list