# How to Import IPED into an IDE: A Complete Setup Guide for Java Developers

> Java developers learn to import IPED into your IDE. Clone the repo, open as a Maven project, and configure JDK 11 for seamless multi-module setup.

- Repository: [Serviço de Perícias em Informática/IPED](https://github.com/sepinf-inc/IPED)
- Tags: how-to-guide
- Published: 2026-03-11

---

**Clone the IPED repository and open it as a Maven project in your IDE, ensuring JDK 11 is configured as the Project SDK to import all multi-modules automatically.**

IPED is a comprehensive digital forensics platform maintained by sepinf-inc that consists of a multi-module Maven project written in Java 11. To contribute to or extend its capabilities—ranging from parsing engines to geographic analysis tools—you need to properly import IPED into your development environment. This guide walks you through importing the project into IntelliJ IDEA, Eclipse, and other Java IDEs using the standard Maven import workflow.

## Prerequisites

Before you import IPED into an IDE, ensure your development machine meets the following requirements:

- **JDK 11 or newer**: The project strictly requires Java 11 as defined in the parent POM configuration.
- **Apache Maven**: Required for dependency resolution and build management.
- **Git**: For cloning the repository from GitHub.

## Step-by-Step IDE Import Instructions

IPED uses a standard Maven multi-module structure with the parent [`pom.xml`](https://github.com/sepinf-inc/IPED/blob/main/pom.xml) located at the repository root. All major Java IDEs can import this structure automatically.

### IntelliJ IDEA

1. Clone the repository:

   ```bash
   git clone https://github.com/sepinf-inc/IPED.git
   ```

2. Select **File → Open** and choose the cloned `IPED` folder.
3. IntelliJ will automatically detect the root [`pom.xml`](https://github.com/sepinf-inc/IPED/blob/main/pom.xml) and import all sub-modules (engine, parsers, viewers, carvers, geo, app, etc.).
4. When prompted, set the Project SDK to your JDK 11 installation.

### Eclipse IDE

1. Clone the repository using your preferred Git client.
2. Navigate to **File → Import → Maven → Existing Maven Projects**.
3. Browse to the cloned `IPED` directory and select the root [`pom.xml`](https://github.com/sepinf-inc/IPED/blob/main/pom.xml).
4. Eclipse will import all modules and resolve dependencies automatically.

### VS Code and Other IDEs

Any IDE with Maven support (including VS Code with Java extensions or NetBeans) can import IPED. Simply open the cloned folder containing the parent [`pom.xml`](https://github.com/sepinf-inc/IPED/blob/main/pom.xml), and the IDE will recognize the multi-module structure.

## Configuring the Project SDK

After import, you must configure the IDE to use JDK 11. In the parent [`pom.xml`](https://github.com/sepinf-inc/IPED/blob/main/pom.xml) at the repository root, the Maven compiler plugin explicitly sets both source and target compatibility to version 11:

```xml
<!-- From pom.xml lines 20-24 -->
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>

```

Configure your IDE's Project SDK (IntelliJ) or Execution Environment (Eclipse) to point to JDK 11. This ensures compatibility with the `iped-engine`, `iped-parsers`, and other modules.

## Understanding the Multi-Module Structure

IPED organizes its functionality into distinct Maven modules managed by the parent POM. Key modules include:

- **`iped-engine`**: Core processing engine
- **`iped-parsers`**: File format parsers
- **`iped-viewers`**: Evidence visualization components
- **`iped-carvers`**: File carving utilities
- **`iped-geo`**: Geographic data analysis
- **`iped-app`**: Main application packaging

This structure allows you to work on specific components while maintaining dependencies across the project.

## Running IPED from the IDE

Once imported, you can launch IPED directly from your IDE using two primary entry points located in the `iped-app` module:

- **`iped.app.bootstrap.Bootstrap`**: Starts the full GUI application with all forensic processing capabilities (located in [`iped-app/src/main/java/iped/app/bootstrap/Bootstrap.java`](https://github.com/sepinf-inc/IPED/blob/main/iped-app/src/main/java/iped/app/bootstrap/Bootstrap.java), lines 42-47).
- **`iped.app.bootstrap.BootstrapUI`**: Launches only the UI components, useful for unit testing interface elements (located in [`iped-app/src/main/java/iped/app/bootstrap/BootstrapUI.java`](https://github.com/sepinf-inc/IPED/blob/main/iped-app/src/main/java/iped/app/bootstrap/BootstrapUI.java), lines 6-8).

Create a run configuration in your IDE using one of these classes as the **Main class**. The IDE-managed classpath will include all compiled modules and Maven dependencies.

```java
// Example: Programmatically launching IPED from your test code
public class LaunchIPED {
    public static void main(String[] args) throws Exception {
        iped.app.bootstrap.Bootstrap.main(args);
    }
}

```

## Build Process and External Dependencies

The initial Maven import triggers dependency resolution for numerous external forensic tools. The [`iped-app/pom.xml`](https://github.com/sepinf-inc/IPED/blob/main/iped-app/pom.xml) configures the `maven-dependency-plugin` and `download-maven-plugin` to fetch and unpack binaries including:

- SleuthKit
- Apache Tika
- Tesseract OCR
- LibreOffice
- RegRipper
- Stanford CoreNLP

These downloads occur during the build phase (see [`iped-app/pom.xml`](https://github.com/sepinf-inc/IPED/blob/main/iped-app/pom.xml) lines 70-84 and 120-140), so the first import and build may take several minutes. The `maven-jar-plugin` (lines 38-42) packages the application with a manifest pointing to `iped.app.bootstrap.Bootstrap` as the main entry point.

## Summary

- **IPED is a Maven multi-module project** that requires JDK 11 and imports cleanly into any Maven-compatible IDE.
- **Open the root folder** containing the parent [`pom.xml`](https://github.com/sepinf-inc/IPED/blob/main/pom.xml) to automatically import all modules (engine, parsers, app, etc.).
- **Configure your Project SDK to JDK 11** to match the compiler settings defined in the root POM.
- **Use `iped.app.bootstrap.Bootstrap`** as your main run configuration to launch the full application from source.
- **Expect initial build delays** while Maven downloads external forensic tools like Tesseract and SleuthKit.

## Frequently Asked Questions

### Does IPED work with Java versions newer than 11?

While the source code targets Java 11 as specified in the Maven compiler plugin configuration (`<maven.compiler.source>11</maven.compiler.source>`), you can compile and run IPED using newer JDK versions as long as you maintain Java 11 compatibility in your IDE settings. However, the official build and CI processes validate against JDK 11 specifically.

### Can I import only specific IPED modules instead of the entire project?

Yes, you can import individual modules, but because IPED uses a parent POM structure with inter-module dependencies, importing the entire project via the root [`pom.xml`](https://github.com/sepinf-inc/IPED/blob/main/pom.xml) ensures proper dependency resolution. If you import only `iped-engine` or `iped-parsers`, your IDE may not automatically resolve sibling module dependencies unless they are installed in your local Maven repository.

### How do I resolve dependency errors after importing?

If your IDE shows missing dependencies for external tools like Tesseract or SleuthKit, run `mvn clean install` from the command line in the project root. This executes the `download-maven-plugin` configurations in [`iped-app/pom.xml`](https://github.com/sepinf-inc/IPED/blob/main/iped-app/pom.xml) that fetch and unpack binary dependencies, which some IDEs may not trigger automatically during initial import.

### What is the difference between Bootstrap and BootstrapUI?

**`Bootstrap`** ([`iped-app/src/main/java/iped/app/bootstrap/Bootstrap.java`](https://github.com/sepinf-inc/IPED/blob/main/iped-app/src/main/java/iped/app/bootstrap/Bootstrap.java)) initializes the complete IPED application including the forensic processing engine and evidence ingestion pipeline. **`BootstrapUI`** ([`iped-app/src/main/java/iped/app/bootstrap/BootstrapUI.java`](https://github.com/sepinf-inc/IPED/blob/main/iped-app/src/main/java/iped/app/bootstrap/BootstrapUI.java)) launches only the user interface components without the full processing backend, making it ideal for testing UI modifications without loading case data or initializing heavy forensic libraries.