Development With Intellij

From iDempiere en

Goal: Development

Developer: Hengsin

Feature Ticket: IDEMPIERE-5150

Description

With the help of the Eclipse PDE Partial plugin, use IntelliJ for iDempiere development.

Steps

  • Install Intellij 2024.3.5 or Intellij 2025.1
  • Install Eclipse PDE Partial plugin 1.6.8 from Intellij Marketplace
  • At the Projects window, select Open and pick the root iDempiere source folder. Make sure you have run mvn verify successfully before doing this.
  • The Eclipse PDE Partial plugin should be able to setup everything without further input from user.
  • The Eclipse PDE Partial plugin doesn't works well with Maven build files. Select Skip if the Intellij IDE shows the Load Maven Projects popup dialog.
  • Run or debug with Maven Run Configuration:
    • iDempiere Setup: run the org.adempiere.app.install Maven run configuration.
    • Generate Model: run the org.adempiere.modelgenerator.app Maven run configuration.
    • iDempiere Server: run the org.adempiere.server.application Maven run configuration.
    • To debug, run one of the Maven run configuration above, click the Attach debugger link in the Run output panel or use Run > Attach to process....
    • Due to the use of Equinox launcher, the Debug Maven run configuration menu wouldn't work.
    • To setup new maven run configuration, please refer to one of the pre-setup Maven run configuration. You can setup the bundles.info and dev.properties manually or copy it from Eclipse launch configuration (<workspace>/.metadata/.plugins/org.eclipse.pde.core/<launch configuration name>/). For the copy over bundles.info, you need to replace all occurrence of <home folder> with ${user.home}.
  • Run or debug with Eclipse Application Partial Configuration:
    • iDempiere Setup: run or debug the Install configuration
    • Generate Model: run or debug the Model Generator configuration
    • iDempiere Server: run or debug the iDempiere Server configuration
  • Run or debug plugin unit test (required Eclipse PDE Partial plugin 1.6.8 and above):
    • org.idempiere.test: run all unit test inside the org.idempiere.test project
    • org.idempiere.test.SelectedClass: run all unit test methods inside the currently selected class at the Project view (the class must belongs to the org.idempiere.test project).
    • org.idempiere.test.SelectedClass.Method: run single unit test methods inside the currently selected class at the Project view (the class must belongs to the org.idempiere.test project). The run configuration will prompt for the unit test method name (you can copy the method name using the Structure view).

Maintenance of .iml file and run configurations

  • We need to update the .iml files and run configurations if there are changes in project modules and/or target platform.
  • To update .iml files, right click on idempiere project, select Resolve Workspace. Push the updated .iml files to repository.
  • For Eclipse PDE Partial run configurations, update selection of target modules and run it. Push the updated configurations to repository.
  • For Maven run configurations, get the updated dev.properties and bundles.info from your Eclipse installation (<workspace>/.metadata/.plugins/org.eclipse.pde.core/<launch configuration name>/). For the copy over bundles.info, you need to replace all occurrence of <home folder> with ${user.home}.

Working with idempiere-rest module

1. Import com.trekglobal.idempiere.rest.api module

select "File" -> "New" -> "Module from Existing Sources..."

  • Step 1

Import com.trekglobal.idempiere.rest.api - Step 1

  • Step 2

Import com.trekglobal.idempiere.rest.api - Step 2

  • Step 3

Import com.trekglobal.idempiere.rest.api - Step 3

  • Step 4

Import com.trekglobal.idempiere.rest.api - Step 4

  • Step 5

Import com.trekglobal.idempiere.rest.api - Step 5

  • Step 6

Import com.trekglobal.idempiere.rest.api - Step 6

2. Configure Imported com.trekglobal.idempiere.rest.api Module

  • Exclude Target Folder

Exclude com.trekglobal.idempiere.rest.api target folder

  • Set Compile Output Path

Compile output path of com.trekglobal.idempiere.rest.api

  • Set Eclipse PDE Partial Settings

com.trekglobal.idempiere.rest.api output path for Eclipse PDE Partial facet

3. Close and re-open module setting to verify that the module's dependencies have been updated by the Eclipse PDE Partial plugin. Updated module dependencies of com.trekglobal.idempiere.rest.api

4. Create a duplicate copy of iDempiere Server run configuration. Change runtime data directory path and select the com.trekglobal.idempiere.rest.api module Run configuration for com.trekglobal.idempiere.rest.api

5. Run/Debug the newly created run configuration to test

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