Part II: Running Adempiere on IntelliJ IDEA

This part is a continuation of the first part which is creating projects up to compiling Adempiere in IntelliJ IDEA. Part 1: Adempiere on IDEA here. Running Adempiere is even easier that the previous part.

In the first part, we have built the Adempiere with the IntelliJ IDEA’s own build tool. Now, we will build Adempiere to package and prepare it for running inside an Application Server. We will use Glassfish as an Application Server.

The build.xml

The build.xml is an Ant build script necessary for preparing, compiling and packaging Adempiere. Adempiere guys created it for this purpose. I am writing an upgrade to the Ant build script to use a Maven build script for Adempiere.

The default target of build.xml (found in utils_dev\build.xml) is the complete target. The complete target creates all jar, dependencies, and everything else. End output is the installable Adempiere zip file.

Click to open the Ant Build tool window in IntelliJ IDEA

Click the “+” button to add the build.xml

Find the utils_dev\build.xml

Click OK to add.

You will see an “adempiere” in the ant build tool window

Open it and double click the “complete” target to execute.

Figure 9

The result of building should be like this and no error would occur. If there is for example a delete error, just re-run the complete target.

Adempiere in IntelliJ IDEA

Part I: Creating Adempiere project in IntelliJ IDEA

I am an IntelliJ IDEA fanatic since its version 5. It eases all my development efforts especially its shortcut keys in its Editor and the Code refactorings as well as Inspection tool which generally guides me to avoid things that I overlooked. This is the part 1 and click here for the part 2: running adempiere in idea.

Pre requisites

You need to have the following running on your system no matter what OS you use:

If the Subversion asks you about adding the newly created files to the repository, click No.

Now as an end result, there will be one project module present “adempiereTrunk”. When you view its module settings, all sources locate each directory. We will call it the parent project. We will proceed with the creation of the child projects.

Making the Child projects

Make the child modules in the adempiereTrunk parent folder by doing the following steps:

Right click the adempiereTrunk in the Project tool window

Click the New à Module

Figure 4

In the New Module dialog box, select the Import module from external model

Click Next and Select Eclipse as external model

Click Next

Find the module you want to import

Check the Link created IntelliJ IDEA modules to Eclipse project files

Check also the Create module files near .classpath files

Figure 5

Click Next

Select the Eclipse project you want to import as module

Click Finish.

In the end, your Project tool window might look like the above image in Figure 4.

Import the modules in this order to minimize errors of dependency. Although this should not be a problem since IntelliJ will still treat correct dependency even if you imported the dependent module ahead of the depended module:

lib

tools

serverApps

JasperReportTools

Base

Client

Data

JasperReports

JasperReportsWebApp

Db

Extend

Jboss

serverRoot

install

sqlj

webStore

doc

looks

interfaces

launch

migration

packages

posterita

utils

utils_dev

webCM

zkwebui

glassfishfacet

jbossfacet

Once you’ve successfully imported all projects as a module in IntelliJ IDEA, you can now click the Rebuild Project under the Build menu. If there are errors in JasperReportsWebApp, follow instructions below.

Resolving error in JasperReportsWebApp

Right click the JasperReportsWebApp

Click on the Module Settings

Click the Dependencies tab

Click Add à Module Dependencies

Find and add the “base”, then click OK

Click Add à Single Entry Module Library

You will be asked for the Path of the jars, enter the tools\lib folder i.e. C:\workspace\adempiere\trunk\tools\lib\

Select all the jars under the folder as shown below then click OK

Figure 6

Once done, you will end up like this as shown below. Click OK button when finished.

Figure 7

Compiling Adempiere in IntelliJ IDEA

All else successful in the above configuration, we can now compile Adempiere project.

Click the Build menu

Click Rebuild Project

This will show a successful compilation as shown below. No errors would be found, only warnings.

Figure 8

If you wanted to go back to Eclipse as an IDE; it should have no problems since the classpath is already linked with both IDE’s. In Eclipse, select all and then press F5 to refresh. Click Clean and rebuild. It should have nil errors.