Upgrade 3.8.2 to 4.3.1

My desktop has a Ryzen7-2700 (8-core) CPU and 32G RAM. It runs Slackware-14.2/x86_64 (fully patched). I tried running JabRef-4.3.1 using various versions of openjdk and Oracle’s proprietary jdk but none worked. I have JabRef-3.8.2 running using jdk-8u221 but want to upgrade.

Will JabRef run with openjdk and openfx? If so, what version(s)? If not, what version(s) of Oracle’s jdk are needed?

TIA,

Rich

Hi,

JabRef in 4.3.1 requires still java 8 and openjfx 8.
That combination should work.
Oracle jdk 8 is an alternative.

Regards

Christopher,

Based on your response I think that I had too many versions of openjdk
installed. I have now Oracle’s jdk8 and 4.3.1 running, but I’ll try
openjdk-8u221 and openjfx-8.

Do you think JabRef will start working with newer jdk versions sometime
soon? Jdk and openjdk are up to version 12 and it’s likely that other java
applications will require them. Apparently applications such as JabRef are
confused with more than one java version present.

Thank you,

Rich

Hi,

we are currently in the process of migrating to java 11 which is an LTS release, however there are still some things regarding external libraries which need to be adjusted.
See the progress here:

Regards

Thanks, Christoph. I’ll keep an eye out for it.

Best regards,

Rich

The preview version of 5.0 that should be released today is now compatible with java 11 (and actually comes bundled with it, so no separate installation is necessary).

Tobias, et al.:

With the installed jdk-8 JabRef–master–latest.jar did not want to run:

$ java -jar JabRef–master–latest.jar
Error: A JNI error has occurred, please check your installation and try again
Exception in thread “main” java.lang.UnsupportedClassVersionError: org/jabref/JabRefLauncher has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
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 sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)

I don’t know java so I cannot determine why this error occurred.

Regards,

Rich

Java 11 is now required for any 5.0 version after the alpha release.

You need to install jdk11 and openjfx11

Regards

Java 11 is now required for any 5.0 version after the alpha release.

Christoph,

I wondered about this.

You need to install jdk11 and openjfx11

I read that jdk8 included jfx so I didn’t need openjfx. Will JabRef-5.x work
with openjdk11 and openjfx11?

Thanks,

Rich

Yes , with java 11 javafx and the rest of the jdk were splitted up

We yesterday finished the java 11 integration and the now released alpha version and all future versions require now java 11 and openfjx11. Previously java 8 was required.

So you need both openjdk11 and openjfx11

Christoph,

Thank you. I found that with JabRef-4.3.1 I needed Oracle’s jdk8 because it
would not run with openjdk8-8u212 and openjdk-8.221.

I’ll try open*11 this week with the 5.0 version.

Regards,

Rich

@Siedlerchr are you sure about the openfx dependency? I thought that we included the javafx library now directly in the jar so that only the java 11 runtime (java.exe) needs to be present. At least on Windows I didn’t had to install javafx (which is no longer included in java 11).