Package Details: jabref 5.13-1

Git Clone URL: https://aur.archlinux.org/jabref.git (read-only, click to copy)
Package Base: jabref
Description: Graphical Java application for managing BibTeX and biblatex (.bib) databases
Upstream URL: https://www.jabref.org/
Licenses: MIT
Submitter: Allan
Maintainer: Bevan
Last Packager: Bevan
Votes: 212
Popularity: 2.95
First Submitted: 2012-06-07 22:47 (UTC)
Last Updated: 2024-04-02 16:01 (UTC)

Dependencies (4)

Required by (0)

Sources (6)

Pinned Comments

Bevan commented on 2024-03-28 17:57 (UTC)

Everyone who struggles to update right now: Please install the jdk21-openjdk package. It provides java-environment=21.

Bevan commented on 2022-03-14 20:04 (UTC)

@shmilee: I like that idea. Implemented in 5.5-2 using JABREF_OPTIONS as variable name.

Note that you can then also put that environment variable into your .bashrc, .pam_environment or something similar to be automatically applied.

shmilee commented on 2022-03-12 13:51 (UTC)

How about add an extra JavaOptions variable in launch script /usr/bin/jabref like this?

............
--module-path ${ROOT}/lib \
${JABREF_EXT_Options} \
--patch-module .............

So we can add the -Djdk.gtk.version=2 flag or -Dglass.gtk.uiScale=144dpi flag by cmdline, no need to edit /usr/bin/jabref after upgrade.

JABREF_EXT_Options='-Dglass.gtk.uiScale=144dpi -Djdk.gtk.version=2' jabref

matteodelabre commented on 2020-11-17 14:25 (UTC)

Using JabRef with i3wm, I’m running into the issue described at https://github.com/JabRef/jabref/issues/5867 in which clicking the menu bar sometimes opens then immediately closes the associated menu, rendering it unusable.

I was able to fix this issue by adding the -Djdk.gtk.version=2 flag after line 9 in https://aur.archlinux.org/cgit/aur.git/tree/jabref.sh?h=jabref (as suggested in the related bug report https://bugs.openjdk.java.net/browse/JDK-8251240). This change also removes the “XSetErrorHandler() called with a GDK error trap pushed. Don't do that.” warning mentioned by ruiin in a previous comment.

So far, I have not encountered any adverse side-effect from this workaround.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 .. 21 Next › Last »

Bevan commented on 2023-09-26 20:55 (UTC)

@Vitrum-cnkj34kr8: Unfortunately, none of those options is the one I would suggest. "jdk-openjdk" (https://archlinux.org/packages/extra/x86_64/jdk-openjdk/) is the JDK included in the Arch repositories and it provides java-environment 21. So maybe just go ahead and install jdk-openjdk manually before building this package.

Vitrum-cnkj34kr8 commented on 2023-09-26 20:48 (UTC) (edited on 2023-09-26 20:50 (UTC) by Vitrum-cnkj34kr8)

On update, it asks me to choose a java-environment. Which one is the correct?

:: There are 8 providers available for java-environment=21:
1) amazon-corretto-21-bin
2) java-openjdk-bin
3) jdk
4) jdk-openjdk-xdg
5) jdk21-jetbrains-bin
6) jdk21-jetbrains-imfix
7) liberica-jdk-full-bin
8) zulu-21-bin

Bevan commented on 2023-09-26 20:17 (UTC)

The reason why I could not reproduce the issue is that I had jdk-temurin installed which currently is still at version 20. This means that gradle somehow tries to find a JDK matching the version specified as toolchain, no matter what we set via archlinux-java-run as $JAVA_HOME.

The best solution I can think of right now is exactly what Pavlov suggested: setting the toolchain in build.gradle to version 21 and forcing the use of JDK 21 for compilation and execution of JabRef. This is what I just pushed as jabref 5.10-2.

If anyone has a suggestion how we can avoid this issue while being more flexible with the JDK versions, please leave a comment.

Bevan commented on 2023-09-26 19:45 (UTC)

Thanks Pavlov! By replicating your exact setup I am now able to reproduce the issue. I'll try to find the root cause.

Pavlov commented on 2023-09-26 10:18 (UTC)

I've "resolved" it by replacing

toolchain {
    languageVersion = JavaLanguageVersion.of(20)
}

with

toolchain {
    languageVersion = JavaLanguageVersion.of(21)
}

in build.gradle. It seems that JabRef requires exactly JDK20 to compile, however Arch Linux doesn't provide any package containing version 20 of JDK anymore.

Pavlov commented on 2023-09-26 07:00 (UTC)

@Bevan these are the outputs. archlinux-java status:

Available Java environments:
  java-11-openjdk
  java-17-openjdk
  java-21-openjdk
  java-8-openjdk/jre (default)

archlinux-java-run -a 20 -f jdk -j:

/usr/lib/jvm/java-21-openjdk

Bevan commented on 2023-09-25 17:48 (UTC)

@carlosal1015: I tried with Java 17 and while building the package works, launching JabRef does not. So I think at least version 20 is required.

@Pavlov and @vanja_z: I could not reproduce your issue yet. Can you please post the output of the following commands?

  • archlinux-java status
  • archlinux-java-run -a 20 -f jdk -j

carlosal1015 commented on 2023-09-25 17:19 (UTC)

Hi, is mandatory java-runtime>=20 or could be relaxed until 17?

Pavlov commented on 2023-09-25 13:57 (UTC)

Even with archlinux-java-run=10-1 the problem persists:

Execution failed for task ':compileJava'.
> Error while evaluating property 'javaCompiler' of task ':compileJava'.
   > Failed to calculate the value of task ':compileJava' property 'javaCompiler'.
      > No matching toolchains found for requested specification: {languageVersion=20, vendor=any, implementation=vendor-specific} for LINUX on x86_64.
         > No locally installed toolchains match and toolchain download repositories have not been configured.

Bevan commented on 2023-09-24 19:57 (UTC)

Sorry, I missed to update archlinux-java-run in time for JDK 21 which caused issues with building or running Java applications that use it. Please update archlinux-java-run to v10 and report back if there are still any issues afterwards.