Setting up Eclipse

From iDempiere en

Table of Contents | Download the Code | Setting up Eclipse | Importing DB Seed Manually

Materialize and build

On the operating system navigate to the folder where you cloned the code, named below as $IDEMPIERE_REPOSITORY (f.e. /home/carlos/sources/idempiere), and run the next command:

cd $HOME/sources/idempiere
./mvnw verify

You need around 4GB of free disk space to run this step.

This command download all libraries on Bundle-ClassPath, build all projects and output binaries to org.idempiere.p2/target/products.

Setup workspace in Eclipse

  • Open again the eclipse you configured with the workspace pointing to the folder where you cloned the code
    • Following the example here this folder would be $HOME/sources/idempiere - this is just an example recommendation, not a must, you can use any folder as your workspace
  • Turn off Project > Build automatically
  • Navigate to Window > Preferences > General > Workspace
    • set Text file encoding to UTF-8 (if default is different)
    • set New text file line delimiter to Unix (if the default is different)
  • Not required, this is a personal preference, but normally I switch here to Java perspective and choose Working Sets as the Top Level Elements
    • Hengsin (talk) : My preference is the Plug-in Development perspective for easy access to plugin and target platform state.
  • In Java > Installed JREs, add the java-17-openjdk JRE if not present and select it as the active JRE:
    • click the Add button, then
    • select Standard VM, click Next
    • enter "/usr/lib/jvm/java-17-openjdk-amd64" as JRE Home (or click the Directory... button to find the JRE/JDK 17 root folder) , click Finish
    • click the Checkbox next to the new entry to apply the changes.
  • Navigate to Window > Preferences > Java > Compiler
    • set Java > Compiler > Compiler compliance level to 17

Import projects in Eclipse

  • Navigate to File > Import
  • Navigate to Maven > Existing Maven Projects
  • Click Next and click Browse... to select the cloned idempiere source folder
    • Following the example above, this folder would be $HOME/sources/idempiere
  • All projects must appear selected, click Finish to complete the import
    • At the end all projects are loaded into the workspace
  • Sometimes eclipse creates changes to the workspace, you can discard those changes at this point via right click on the projects and select Replace With > HEAD Revision

Set target platform

Using downloaded libraries

  • Now open the org.idempiere.p2.targetplatform.mirror.target file inside the org.idempiere.p2.targetplatform project
  • At Target Editor, click the Set as Active Target Platform link
  • At the end you should enable back Project > Build automatically
  • In case there are files with compilation errors you can right click on the iDempiere project and select Maven > Update Projects, then press OK
  • When everything is good, close the target editor with org.idempiere.p2.targetplatform.mirror.target. Keeping it open makes Eclipse produce erratic behavior (especially after you restart your Eclipse).

Downloading sources libraries

If you want to have the source code for the target platform downloaded libraries, there is an alternative method.

This method is slower (depending on your internet speed), and consumes more disk space (around 287MB less at this moment).

The advantage is that you'll have the source code for the target platform contents and everything is set up if you need to debug into the target platform plugin (which is rare anyway).

  • Open the org.idempiere.p2.targetplatform.target file inside the org.idempiere.p2.targetplatform project
    • This is the default target platform definition with remote url
    • Here eclipse takes some time downloading the required dependencies, you can prepare some Colombian coffee and wait patiently :) (How long it takes depends heavily on your internet connection, in my case it's taking around 40 seconds)
  • At Target Editor, click the Set as Active Target Platform link
  • Wait for Eclipse to finish downloading bundles onto target platform
    • Click the "Reload" button if some download fail, until there are no red errors on the Locations list
  • At the end you should enable back Project > Build automatically
  • In case there are files with compilation errors you can right click on the iDempiere project and select Maven > Update Projects, then press OK
  • When everything is good, close the target editor with org.idempiere.p2.targetplatform.target. Keeping it open makes Eclipse produce erratic behavior (especially after you restart your Eclipse).

Eclipse version

As explained in the prerequisites the minimum version to run iDempiere is Eclipse 2024-03, and specifically the version Eclipse IDE for Enterprise Java and Web Developers.

In case you decided to go against the recommendation and use instead Eclipse IDE for Java Developers you'll find some problems when compiling, to overcome that you must install the m2e PDE - Maven Integration for Eclipse Plugin Development plugin (check at Help > About Eclipse IDE > Installation Details > Installed Software tab), you have to install it from https://download.eclipse.org/releases/latest (Help > Install New Software...). This plugin sits inside the General Purpose Tools category.

Notes about target platform

  • If you want to make changes to the target platform, you might want to install the Target Platform DSL Editor from https://download.eclipse.org/cbi/tpd/3.0.0-SNAPSHOT/ (Help > Install New Software... and enter the URL into the "Work with:" field). This plugin allows you to generate new org.idempiere.p2.targetplatform.target file from org.idempiere.p2.targetplatform.tpd. Note that after you have generated a new org.idempiere.p2.targetplatform.target file, you need to manually copy the maven locations from maven.locations.xml into it.
  • If you want to use a local/mirror target platform with the source, you can use my file or create one yourself by following this guide.


This How-To is brought to you by Carlos Ruiz from BX Service GmbH. Feel free to improve directly or suggest using the Discussion tab.

Table of Contents | Download the Code | Setting up Eclipse | Importing DB Seed Manually

Cookies help us deliver our services. By using our services, you agree to our use of cookies.