diff --git a/docs/getting-into-the-code/guidelines-for-setting-up-a-local-workspace.md b/docs/getting-into-the-code/guidelines-for-setting-up-a-local-workspace.md index 309324f8af2..a3c4c022b57 100644 --- a/docs/getting-into-the-code/guidelines-for-setting-up-a-local-workspace.md +++ b/docs/getting-into-the-code/guidelines-for-setting-up-a-local-workspace.md @@ -18,7 +18,7 @@ This section list the prerequisites you need to get started to develop JabRef. A ### Java Development Kit 16 -A working Java \(Develoment Kit\) 16 installation with Java FX support is required. In the command line \(terminal in Linux, cmd in Windows\) run `javac -version` and make sure that the reported version is Java 16 \(e.g., `javac 16`\). If `javac` is not found or a wrong version is reported, check your `PATH` environment variable, your `JAVA_HOME` environment variable or install the most recent JDK. +A working Java \(Development Kit\) 16 installation with Java FX support is required. In the command line \(terminal in Linux, cmd in Windows\) run `javac -version` and make sure that the reported version is Java 16 \(e.g., `javac 16`\). If `javac` is not found or a wrong version is reported, check your `PATH` environment variable, your `JAVA_HOME` environment variable or install the most recent JDK. [JavaFX is not part of the default JDK any more](https://www.reddit.com/r/java/comments/82qm9x/javafx_will_be_removed_from_the_java_jdk_in_jdk_11/), it needs to be installed separately if not using a special JDK. @@ -119,6 +119,8 @@ To prepare IntelliJ's build system two additional steps are required: --add-exports=org.controlsfx.controls/impl.org.controlsfx.skin=org.jabref ``` + Note that you need to focus another UI element before pressing OK. Otherwise, the setting will be empty. + * Enable annotation processors by navigating to **File \| Settings \| Build, Execution, Deployment \| Compiler \| Annotation processors** and check "Enable annotation processing" ![Enable annotation processing](../.gitbook/assets/intellij-enable-annotation-processing.png) @@ -144,7 +146,7 @@ After that a new entry called "jabref \[run\]" will appear in the run configurat #### Using IntelliJ's internal build system -You should use IntelliJ IDEA's internal build system for compiling and running JabRef during development, because it is usually more responsive. Thereby, **it's important** that you understand that JabRef relies on generated sources which are only build through Gradle. Therefore, to build or update these dependencies you need to run the `assemble` Gradle task at least once. +You should use IntelliJ IDEA's internal build system for compiling and running JabRef during development, because it is usually more responsive. Thereby, **it is important** that you understand that JabRef relies on generated sources which are only build through Gradle. Therefore, to build or update these dependencies you need to run the `assemble` Gradle task at least once. To use IntelliJ IDEA's internal build system when you build JabRef through **Build \| Build Project** or use the provided "JabRef Main" run configuration, ensure that @@ -154,15 +156,15 @@ To use IntelliJ IDEA's internal build system when you build JabRef through **Bui ![Ignore the Gradle project "buildSrc"](../.gitbook/assets/intellij-gradle-config-ignore-buildSrc%20%282%29%20%282%29%20%282%29%20%283%29%20%283%29%20%286%29%20%284%29.png) * Add `src-gen` as root: - 1. Right click on the project "jabref". - 2. Select "Open Module Settings" - 3. Expand "JabRef" - 4. Select "main" - 5. Select tab "Sources" - 6. Click "+ Add Content Root" - 7. Select the `src-gen` directory - 8. Click "OK". When expanding "main", "java" should have been selected as source - 9. Click "OK" to save the changes + 1. Right click on the project "jabref". + 2. Select "Open Module Settings" + 3. Expand "JabRef" + 4. Select "main" + 5. Select tab "Sources" + 6. Click "+ Add Content Root" + 7. Select the `src-gen` directory + 8. Click "OK". When expanding "main", "java" should have been selected as source + 9. Click "OK" to save the changes * In case the above step does not work, run with gradle, import gradle project again, and try again. * Delete `org.jabref.gui.logging.plugins.Log4jPlugins` \(location: `src-gen/main/java/org/jabref/gui/logging/plugins/Log4jPlugins.java`\). Otherwise, you will see following error: @@ -302,3 +304,16 @@ There might be problems with building if you have openjfx libraries in local mav As a workaround, you can remove all local openjfx artifacts by deleting the whole openjfx folder from specified location. +### Issues with `JournalAbbreviationLoader` + +In case of a NPE at `Files.copy` at `org.jabref.logic.journals.JournalAbbreviationLoader.loadRepository(JournalAbbreviationLoader.java:30) ~[classes/:?]`, +invalidate caches and restart IntelliJ. +Then, Build -> Rebuild Project. + +If that does not help: + +1. Save/Commit all your work +2. Close IntelliJ +3. Delete all non-versioned items: `git clean -xdf`. This really destroys data +4. Execute `./gradlew run` +5. Start IntelliJ and try again.