# IntelliJ IDE
# Prerequisites
- git, Maven, IntelliJ and Java 17 are installed
# Install openHAB distribution
- Install the official openHAB distribution (opens new window)
- Start the distribution in debug mode (use ./start_debug.shinstead of./start.shin step 4)
This article refers to the directory where you installed the distribution as <DISTRO_DIR>.
# Build the addons repository
- Fork and clone the openhab addons repository (opens new window) into a new directory (Reference - <ADDON_DIR>from now on for this article) with- git clone https://github.com/<yourgitusername>/openhab-addons(replace git user name accordingly)
- Open IntelliJ and create a new project from existing sources (File | New | Project from existing sources) and pick - <ADDON_DIR>/pom.xml- IntelliJ will start importing, indexing and building, it will take while, wait until finished (see status bar) 
- Use Maven to clean & install the addons project - mvn clean install in the root of <ADDON_DIR>using commandline Maven (or IntelliJ Maven view)
- some of the add-ons might fail to build - if it's not the one, you're interested in that should not bother you
- when the Maven project finished, you should find the freshly built addon JAR in the target directory
 
- mvn clean install in the root of 
# Debug your addon
- Copy the addon JAR to Openhab distribution created before - cp target/<ADDON_NAME>.jar <DISTRO_DIR>/addons
 
- The running instance of the openhab distribution should pick up your new addon & start it - you can type log:tailin the openhab console to stream the openhab logs
 
- you can type 
- Create a Remote Debug runtime configuration in IntelliJ: - open menu Run | Edit configurations
- click the + sign to add a "Remote" configuration
- adapt the module setting to the root (org.openhab.addons.reactor)
- click OK
- start the debug configuration
- the IntelliJ console should log: Connected to the target VM, address: 'localhost:5005', transport: 'socket'
 

You can now add breakpoints to your project now and your test distro should stop there.
