Jabref: Fedora 29: Any versions above 3.8.2 do not start

Created on 9 Nov 2018  路  14Comments  路  Source: JabRef/jabref

In repositories, the version 2.10 is the latest one.

Any 3.x versions including 3.8.2, I can start with "java -jar JabRef-3.8.2.jar"

But any 4.x version, I can not start:
16:39:37.290 [AWT-EventQueue-0] ERROR org.jabref.FallbackExceptionHandler - Uncaught exception occurred in Thread[AWT-EventQueue-0,6,main]
java.lang.NoClassDefFoundError: javafx/scene/control/TextField
at org.jabref.gui.JabRefFrame.(JabRefFrame.java:166) ~[JabRef-4.3.1.jar:?]
at org.jabref.JabRefGUI.openWindow(JabRefGUI.java:104) ~[JabRef-4.3.1.jar:?]
at org.jabref.JabRefGUI.(JabRefGUI.java:67) ~[JabRef-4.3.1.jar:?]
at org.jabref.JabRefMain.lambda$start$1(JabRefMain.java:128) ~[JabRef-4.3.1.jar:?]
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) ~[?:1.8.0_191]
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) ~[?:1.8.0_191]
at java.awt.EventQueue.access$500(EventQueue.java:97) ~[?:1.8.0_191]
at java.awt.EventQueue$3.run(EventQueue.java:709) ~[?:1.8.0_191]
at java.awt.EventQueue$3.run(EventQueue.java:703) ~[?:1.8.0_191]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_191]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) ~[?:1.8.0_191]
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) ~[?:1.8.0_191]
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) [?:1.8.0_191]
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) [?:1.8.0_191]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) [?:1.8.0_191]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:1.8.0_191]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) [?:1.8.0_191]
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [?:1.8.0_191]
Caused by: java.lang.ClassNotFoundException: javafx.scene.control.TextField
at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_191]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_191]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[?:1.8.0_191]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_191]
... 18 more

I also tried the current 5.x developer Version:
Exception in Application start method
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$1(LauncherImpl.java:182)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoClassDefFoundError: javafx/scene/control/Label
at org.jabref.preferences.JabRefPreferences.(JabRefPreferences.java:728)
at org.jabref.preferences.JabRefPreferences.getInstance(JabRefPreferences.java:793)
at org.jabref.JabRefMain.start(JabRefMain.java:56)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$8(LauncherImpl.java:863)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$7(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl.lambda$null$5(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$6(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$null$5(GtkApplication.java:139)
... 1 more
Caused by: java.lang.ClassNotFoundException: javafx.scene.control.Label
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)
... 12 more
Exception running application org.jabref.JabRefMain

Of cause everything installed like explained in the FAQ.

linux

Most helpful comment

it works,
(snap run jabref)

JabRef 5.0-dev
Linux 4.20.7-200.fc29.x86_64 amd64
Java 1.8.0_191

All 14 comments

See FAQ/Installation instructions
http://help.jabref.org/en/Installation#fedora-and-openjdk

Why closed? Nothing FAQ related!

You have either installed the wrong Java version and or the wrong javafx version or are missing the openjfx files. Maybe you have more than one Java version installed or the wrong javafx versions.

See issue #4471

I checked that before posting the issue, so I'm pretty sure that it's only this one correct version, but I'll double check on Monday (sorry, the PC is at work).

Okay, you could also try to install the oracle jdk. This should work. Otherwise, I unfortunately have no idea.

I have exactly the same problem on my freshly installed Fedora 29.
JabRef 3.8.2 works fine, 4.1, 4.3.1 and master-latest do not.

I have installed:
java-1.8.0-openjdk, version 1.8.0.191.b12 (java-1.8.0-openjdk-1.8.0.191.b12-8.fc29.src.rpm)
java-1.8.0-openjdk-openjfx, version 1.8.0.191.b12 (java-1.8.0-openjdk-1.8.0.191.b12-8.fc29.src.rpm)

java -version:
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

Hm. that seems to be an issue with openjfx specifically on Fedora 29. It would be interesting to see, if the Oracle jdk works fine. https://www.oracle.com/technetwork/java/javase/downloads/index.html
Another thing is that this seems to be global problem with JavaFX, according to that report here, even the simplest app doesn't work:
https://ask.fedoraproject.org/en/question/128641/package-javafxscenecontrol-not-found-in-fedora-29/

Ok, really seems to be a Fedora 29 problem. I found a bug report describing that openjdk-openjfx is pretty much broken in Fedora 29: https://bugzilla.redhat.com/show_bug.cgi?id=1644712
Someone is working on it, but might take a while.
So I suggest to close this bug as it is unrelated to JabRef.
It would be nice if someone could mention in the documentation that JabRef 4.x does not work with Fedora 29 with openjdk due to the aforementioned bug in Fedora. That could save some people quite some time searching for a solution.

You can easily edit the installation instructions page by yourself . Just scroll to the bottom and there is an edit button. It's probably the best to mention the bug report

The fedora bug https://bugzilla.redhat.com/show_bug.cgi?id=1644712 is fixed now, and JabRef 4.3.1 can work fine on Fedora 29.

However, jabref master snapshot still won't work, due to missing libjfxwebkit.so in Fedora's packaging of openjfx. See https://bugzilla.redhat.com/show_bug.cgi?id=1547378 The reason is libjfxwebkit depends on ffmpeg and binary blobs, which are not allowed in (official) Fedora repo. But this probably is another issue.

@Ali96kz Could you please test if the latest snap works?
We recently were able to fix the snap package for Ubuntu and I read that it should also be possible to run this on Fedora:
sudo snap install --edge jabref

it works,
(snap run jabref)

JabRef 5.0-dev
Linux 4.20.7-200.fc29.x86_64 amd64
Java 1.8.0_191

Side note: JabRef latest master works with Oracle JDK8 on Fedora 29.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Siedlerchr picture Siedlerchr  路  3Comments

thorstenwagner picture thorstenwagner  路  4Comments

JoKalliauer picture JoKalliauer  路  3Comments

jonasstein picture jonasstein  路  3Comments

simonharrer picture simonharrer  路  3Comments