Step 1: Get the code into IntelliJ

IntelliJ Startup

Start IntelliJ IDEA.

IntelliJ shows the following window:

IntelliJ Start Window
IntelliJ Start Window

Open the project

Click on “Open”

Choose build.gradle.kts in the root of the jabref source folder:

Open File or Project dialog
Choose build.gradle.kts in the “Open Project or File” dialog

After clicking “Open,” IntelliJ asks how that file should be opened. Answer: “Open as Project”

Open Project dialog
Choose “Open as Project” in the Open Project dialog

Then, trust the project:

Trust and Open Project dialog
Choose “Trust Project” in the “Trust and Open Project” dialog

Confirm JDK Downloading

IntelliJ asks for JDK downloading. Keep the suggested Java version and choose “Eclipse Temurin” as Vendor. Click “Download”.

Choose Eclipse Temurin
Choose “Eclipse Temurin” in the “Download JDK” dialog

Allow JDK to access the internet

Allow also access for both cases and click “Allow access”.

Windows Firewall JDK
Trust JDK

Wait for IntelliJ IDEA to import the gradle project

IntelliJ shows “Importing ‘jabref’ Gradle Project” at the lower right corner. This will take several minutes. Wait until this disappears.

Importing 'jabref' Gradle Project
Importing ‘jabref’ Gradle Project

IntelliJ IDEA will report low memory

Low memory pop up
Low memory pop up
  1. Click on “Configure”.
  2. Set “2500” MB (instead of 1262) and click on “Save and Restart”.
  3. Wait until IntelliJ is up and running again.

Ensure that committing via IntelliJ works

Unfortunately, IntelliJ has no support for ignored sub modules [IDEA-285237]. Fortunately, there is a workaround:

Go to File > Settings… > Version Control > Directory Mappings.
Note: In some MacBooks, Settings can be found at the “IntelliJ” button of the app menu instead of at “File”.

Currently, it looks as follows:

Directory Mappings including sub modules
Directory Mappings unmodified

You need to tell IntelliJ to ignore the submodules jablib\src\main\abbrv.jabref.org, jablib\src\main\resources\csl-locales, and jablib\src\main\resources\csl-styles. Select all three (holding the Ctrl key). Then press the minus button on top.

This will make these directories “Unregistered roots:”, which is fine.

Directory Mappings having three repositories unregistered
Directory Mappings having three unregistered roots

Click “OK”