Windows Installation Instructions, All DLL Files Missing
Christopher Miles
twitch at nervestaple.com
Mon Apr 20 17:26:54 UTC 2020
I really appreciate all of the helpful comments in this thread! I have
made a lot of progress on this issue, I can compile and run my
application and am working on packaging.
In my opinion, my big problem was that when I was compiling I wasn't
setting the correct flags with `javac` and, at the same time, probably
didn't have the correct flags for `java` either. To be honest I was
mostly button mashing at that point in the hopes that I'd stumble across
the correct combination.
To get everything working I have moved to using the "mods" with `javac`
and to compile and then using `jlink` build an image. After `jlink` runs
I am using the `java` that is in the image directory to run the compiled
"JAR" file and that is working well.
I think one big hurdle here was my lack of familiarity with Java modules
and how they work. While I knew that Java modules had been a thing for a
while I've been working on non-Java projects and it was not at the front
of my mind.
While the examples on the JavaFX "Getting Started" page worked for me, I
don't think I came away with a clear understanding of what the flags
where actually doing and that made it a little harder to migrate that
information over to my own project. My thinking is that using the "mods"
will make it easier to eventually get my application packaged but I'm
not entirely clear on the bit about the JavaFX runtime and if I need it
at all. I don't think a discussion of the Java modules system would be
appropriate on the "Getting Started" page, but maybe getting a little
more into the details of which approach makes the most sense (mods vs.
the SDK) in which situations would clarify some things.
Thank you all for your help on this! :-)
--
Miles
Kevin Rushforth wrote on 4/20/2020 11:19:
> That shouldn't be necessary. It's a better workaround than setting the
> PATH env variable to be sure, but there is some underlying problem that
> isn't yet understood.
>
> -- Kevin
>
> On 4/20/2020 8:13 AM, David Grieve wrote:
>> Set -Djava.library.path= C:\Program Files\Java\javafx-sdk-14\bin
>>
>> For the jlink question, look at jmod. You'll use jmod to bundle up the
>> dll's and whatever else you need, then jlink to create the custom
>> runtime.
>>
>> -----Original Message-----
>> From: openjfx-dev <openjfx-dev-bounces at openjdk.java.net> On Behalf Of
>> Christopher Miles
>> Sent: Friday, April 17, 2020 2:56 PM
>> To: openjfx-dev at openjdk.java.net
>> Subject: [EXTERNAL] Windows Installation Instructions, All DLL Files
>> Missing
>>
>> 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