How to Import IPED into an IDE: A Complete Setup Guide for Java Developers
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 located at the repository root. All major Java IDEs can import this structure automatically.
IntelliJ IDEA
-
Clone the repository:
git clone https://github.com/sepinf-inc/IPED.git -
Select File → Open and choose the cloned
IPEDfolder. -
IntelliJ will automatically detect the root
pom.xmland import all sub-modules (engine, parsers, viewers, carvers, geo, app, etc.). -
When prompted, set the Project SDK to your JDK 11 installation.
Eclipse IDE
- Clone the repository using your preferred Git client.
- Navigate to File → Import → Maven → Existing Maven Projects.
- Browse to the cloned
IPEDdirectory and select the rootpom.xml. - 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, 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 at the repository root, the Maven compiler plugin explicitly sets both source and target compatibility to version 11:
<!-- 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 engineiped-parsers: File format parsersiped-viewers: Evidence visualization componentsiped-carvers: File carving utilitiesiped-geo: Geographic data analysisiped-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 iniped-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 iniped-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.
// 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 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 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.xmlto 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.Bootstrapas 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 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 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) 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) 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.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →