After cloning your fork to local, follow the below steps to setup IntelliJ to run/debug IGB:
- In IntelliJ, select FIle > Open then select your local Integrated Genome Browser project.
- In IntelliJ, select FIle > Project Structure...
- In the Project Structure window, under the Project section, set the SDK to a JDK 21 version that includes Java FX.
- Note: As of 2024, we use Azul Zulu 21.0.2 JDK FX.
- In the Project Structure window, under the Project section, set the SDK to a JDK 21 version that includes Java FX.
- In IntelliJ, select Run > Edit Configurations...
- Add a new configuration by clicking on the + (plus) icon and selecting JAR Application.
- In the configuration tab:
- Set the Path to JAR to the location of the igb_exe.jar in the Integrated Genome Browser project.
- Note: The igb_exe.jar will be generated after first building the project. To build the project in a terminal, install maven, navigate to the IGB project, and then run: mvn clean install
- Set the JRE to the same Azul Zulu 21 JDK FX version used above.
- For the VM options field, add the JAVA_OPTS present in the run_igb.sh/run_igb.bat file (remove the back slashes) or the content below (this is the same content as in the file but modified as described).
- Set the Path to JAR to the location of the igb_exe.jar in the Integrated Genome Browser project.
--add-opens=java.desktop/sun.swing=ALL-UNNAMED --add-opens=java.desktop/sun.awt.shell=ALL-UNNAMED --add-opens=java.desktop/java.awt.event=ALL-UNNAMED --add-opens=java.desktop/sun.awt.windows=ALL-UNNAMED --add-opens=java.desktop/sun.java2d=ALL-UNNAMED --add-opens=java.desktop/sun.font=ALL-UNNAMED --add-opens=java.desktop/java.awt=ALL-UNNAMED --add-opens=java.desktop/sun.awt=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.desktop/javax.swing=ALL-UNNAMED --add-opens=java.desktop/sun.swing=ALL-UNNAMED --add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED --add-opens=java.desktop/java.awt.peer=ALL-UNNAMED --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED --add-exports=java.desktop/sun.font=ALL-UNNAMED --add-exports=java.desktop/com.apple.eawt=ALL-UNNAMED --add-exports=java.desktop/com.apple.laf=ALL-UNNAMED --add-exports=java.desktop/com.apple.eawt.event=ALL-UNNAMED --add-exports java.desktop/com.sun.java.swing.plaf.windows=ALL-UNNAMED --add-exports java.desktop/com.apple.laf=ALL-UNNAMED --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED
- After adding the VM options the configuration should look like below, click on Apply and save this configuration. This can be used to Run or Debug the application without any issues.