JabRef on Windows 10 -- Java problem?

I use JabRef v. 4.3.1 on Windows 10 (latest update). Every time I start up JabRef, I get an error message saying:


I have tried to install/update Java several times, but the error message persists.

What is wrong?

First, I would check that there is only one Java version listed in the “Apps & Features” section in the Windows 10 control panel. If this is the case, you can probably just delete the Java installation listed in the dialog (probably start by renaming the folder and see still all programs that you use are working correctly).

There are multiple problems with JabRef… I just managed to totally mess up JabRef…

On my laptop (13.5" screen) with resolution 3000x2000, the default fonts are so small that the text is almost unreadable. So I changed the preferences:

That seemed to work ok, but in some tables (“show preferences”?), the tabular test was not really readable. So I experimented by changing “Table row height padding” some something bigger than 9. The information in JabRef then got totally messed up:

OK – I tried to reset the “Table row height padding” back to 9. No help – it still looks garbled.

I then un-installed JabRef, and re-installed it. No help, still looks the same. I’ve tried to reset settings to default. No help.

What’s going on?

Re: Java… Java 8 Update 191 appears in the installed/uninstall list in the Control Panel:


HOWEVER, JabRef (I installed the 64 bit version) is fixed on using an older version, which appears under Program Files (i.e, 64 bits programs), under Common Files:

If I delete this directory (“i4j_jres”), it is impossible to uninstall JabRef. If I uninstall JabRef first, and then remove it, I may be able to re-install JabRef, and then it may find the correct Java version. But what if other programs depend on the old Java version at “i4j_jres”?

And why on earth does Oracle install a 32 bit version of Java (x86…) on my 64 bit computer?

Apps and Features… yes, only one version of Java – the newest one (but it resides in the “Program Files (x86)” folder)…

However, when I start JabRef, this is not the version JabRef uses. The one JabRef uses is a dated one in the “Program Files” folder (i.e., for 64 bit programs). NOTE: I did install the 64 bit version of JabRef.

You may try to install the latest development build from https://builds.jabref.org/master/. That should get rid of the display problems (but please make a backup of your database, it’s a preview version after all).

Good question. Usually, Java does not change too much between versions (especially if it is an upgrade from 8.151 to 8.191). But thats not a guarantee that the other programs indeed work. Try to deinstall jabref, rename the folder and then install a new version of Jabref. If you encounter problems with other programs, you can simply rename the folder back to its original name.

I managed to get rid of the garble… if I reset settings to default, closed JabRef, and opened it again, it was still messy.

However, if I reset to default settings, closed JabRef, then immediately restarted Windows, it the garble disappeared… Ah, well.

Hm… I went to Oracle’s download page for Java – the web page is extremely disorganized. Then I specified that I wanted to download 64 bit Java. Oracle warns that this can only be done in 64 bit Firefox. So I checked, and I have 64 bit Firefox on my computer.

Download proceeded. For some reason, Oracle puts Java in the “Program Files (x86)” folder, which is for 32 bit programs.

Next, I download 64 bit JabRef. Since I have renamed the old Java version folder, it cannot locate Java, and asks for help to locate it. I point to the Java installation in “Program Files (x86)”, and JabRef claims that the Java exe file is damaged.

I then uninstall JabRef, and install the 32 bit version. 32 bit JabRef immediately finds the latest Java version, and is up and running.

Conclusions: Oracle messes things up, and installs 32 bit Java on my computer.

Although I’d prefer to use 64 bit JabRef, at least it works now.

1 Like

normally you can get x64 version here for Java: