I updated to the new version of Jabref: JabRef_windows-x64_4_3_1.exe,
but this did not cooperate with my old Java installation (1.8.0_151).
Since Oracle now requires a paid license for Java, it was recommended to use AdoptOpenJDK which has GNU license. I installed the 64-bit version
OpenJDK8U-jdk_x64_windows_hotspot_8u212b03.msi
and put the directory into the path:
PATH ==> C:\Program Files\Java\AdoptOpenJDK\bin\
This is recognized:
C:\Users\dib05004>java -version
openjdk version “1.8.0_212”
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_212-b03)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.212-b03, mixed mode)
However, Jabref does not recognize it, but wants me to set the EXE4J_JAVA_HOME variable. After I set this to:
EXE4J_JAVA_HOME => C:\Program Files\Java\AdoptOpenJDK\jre\
I get the error messages:
java.lang.NoClassDefFoundError: javafx/application/Application
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:81)
at com.exe4j.runtime.WinLauncher.main(WinLauncher.java:94)
at com.install4j.runtime.launcher.WinLauncher.main(WinLauncher.java:25)
Caused by: java.lang.ClassNotFoundException: javafx.application.Application
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
… 15 more
I played with the EXE4J_JAVA_HOME variable, pointing to e.g.:
EXE4J_JAVA_HOME => C:\Program Files\Java\AdoptOpenJDK\bin
EXE4J_JAVA_HOME => C:\Program Files\Java\AdoptOpenJDK\jre\bin
EXE4J_JAVA_HOME => C:\Program Files\Java\AdoptOpenJDK\
Jabref either does not find Java, or gives the above error messages.