|
|
|
|
|
|
|
Re: error when edit with WYSIWYG in Explanation view [message #2107 is a reply to message #2095] |
Sat, 20 January 2024 19:04 |
thomas
Messages: 715 Registered: June 2014
|
Senior Member |
|
|
I did some Googling and assume that the issue arises from the following:
DataWarrior uses Liberica JRE21 as Java runtime environment. With this newest Liberica version all dlls needed by JavaFX were moved to a different directory, from jre\bin\javafx to jre\bin. Wrongly, Liberica21 tries to access the libraries at the outdated location, where it doesn't find them anymore. Then, it uses some strategy to look at alternative places. It checks whether the dlls can be found at the path defined by the Java variable java.library.path, which is probably constructed from the OS system variable JAVA_HOME, which was set, if there is a system wide Java installation. Thus, if you have an older JRE installed on the system (test with 'java -version'), then Liberica21 will try using JavaFX dlls from there and not its own ones, which are at an unexpected path. If there is no system wide JRE, then Liberica evidently manages to find its own dlls. If there is a system wide JRE21, then it probably works, because those dlls should be compatible.
You can check which dlls are used by starting DataWarrior with:
C:\Program Files\DataWarrior>jre\bin\java -Djavafx.verbose=true -jar datawarrior_all.jar
When you then access a JavaFX component (e.g. the Help Window, the explanation view, or the 3D-molecule viewer), then you see warnings like:
WARNING: java.lang.UnsatisfiedLinkError: Can't load library: C:\Program Files\DataWarrior\jre\bin\javafx\javafx_font.dll
Loaded C:\Program Files\DataWarrior\jre\bin\javafx_font.dll from java.library.path
I assume that you can fix the issue by copying all files from "C:\Program Files\DataWarrior\jre\bin\javafx\" to "C:\Program Files\DataWarrior\jre\bin\". Please let me know, if this fixes the issue.
[Updated on: Sat, 20 January 2024 19:05] Report message to a moderator
|
|
|
|
Re: error when edit with WYSIWYG in Explanation view [message #2112 is a reply to message #2111] |
Tue, 23 January 2024 20:39 |
thomas
Messages: 715 Registered: June 2014
|
Senior Member |
|
|
Thank you for trying and reporting back. I also did some research on my side. Evidently, the problem only exists on Windows. Mac and Linux work fine. To fix this problem on Windows, DataWarrior, when launched, will check and update its own 'java.library.path' VM variable such that this variable will start with the real library path 'C:\Program Files\DataWarrior\jre\bin;'. This way, all libraries loaded later (these are only JavaFX dlls) will be loaded from DataWarrior's internal JRE, no matter which other JREs are installed on the system. The upcoming version 6.1.0 will have it.
|
|
|