Maven Build Profiles

From iDempiere en

Profiles at a Glance

Profile Command Output ZIP
framework mvn clean verify -P framework org.idempiere.p2.framework-{version}.zip
erp mvn clean verify -P erp org.idempiere.p2.erp-{version}.zip
developer mvn clean verify -P developer org.idempiere.p2.developer-{version}.zip

💡 Default build unchangedmvn clean verify with no profile still works exactly as before using org.idempiere.p2.

Framework Profile

Build command:

mvn clean verify -P framework -U

Output:

  • ZIP: org.idempiere.p2.profile\framework\target\org.idempiere.p2.framework-{version}.zip
  • P2 repository: org.idempiere.p2.profile\framework\target\repository\


Modules (35):

Module
org.idempiere.p2.targetplatform
org.adempiere.base
org.adempiere.base.callout
org.adempiere.base.process
org.adempiere.ui
org.adempiere.ui.zk
org.idempiere.zk.extra
org.idempiere.zk.breeze.theme
org.idempiere.zk.iceblue_c.theme
javax.websocket-api.fragment
org.adempiere.server
org.adempiere.eclipse.equinox.http.servlet
org.idempiere.jetty.osgi.boot.fragment
org.adempiere.report.jasper.library
org.adempiere.report.jasper
org.compiere.db.postgresql.provider
org.compiere.db.oracle.provider
org.idempiere.hazelcast.service
org.idempiere.felix.webconsole
org.apache.ecs
org.idempiere.bouncy.castle-feature
org.adempiere.install
org.adempiere.plugin.utils
org.adempiere.base-feature
org.adempiere.ui.zk-feature
org.adempiere.server-feature
org.adempiere.report.jasper-feature
org.compiere.db.provider-feature
org.idempiere.hazelcast.service-feature
org.idempiere.felix.webconsole-feature
org.idempiere.zk-feature
org.idempiere.eclipse.platform-feature
org.idempiere.equinox.p2.director-feature
org.idempiere.p2.profile/features/framework
org.idempiere.p2.profile/framework

ERP Profile

Build command:

mvn clean verify -P erp -U

Output:

  • ZIP: org.idempiere.p2.profile\erp\target\org.idempiere.p2.erp-{version}.zip
  • P2 repository: org.idempiere.p2.profile\erp\target\repository\


Modules (57): All framework modules, plus the following 22:

Module
org.idempiere.keikai
org.idempiere.printformat.editor
org.idempiere.zk.billboard
org.idempiere.zk.billboard.chart
org.idempiere.zk.datatable
org.idempiere.zk.pivot
org.idempiere.tablepartition
org.idempiere.webservices
org.idempiere.webservices.resources
org.idempiere.webservices.client-feature
org.adempiere.payment.processor
org.adempiere.replication
org.adempiere.replication.server
org.adempiere.pipo
org.adempiere.pipo.handlers
org.idempiere.ui.sso.oidc
org.idempiere.webservices-feature
org.adempiere.payment.processor-feature
org.adempiere.replication-feature
org.adempiere.replication.server-feature
org.adempiere.pipo-feature
org.idempiere.p2.profile/features/erp
org.idempiere.p2.profile/erp

Developer Profile

Build command:

mvn clean verify -P developer -U

Output:

  • ZIP: org.idempiere.p2.profile\developer\target\org.idempiere.p2.developer-{version}.zip
  • P2 repository: org.idempiere.p2.profile\developer\target\repository\


Modules (62): All framework + ERP modules, plus the following 5:

Module
org.idempiere.test
org.idempiere.test-feature
org.idempiere.javadoc
coverage-report
org.idempiere.p2.profile/features/developer
org.idempiere.p2.profile/developer

What's in Each Profile

Bundle / Feature FRAMEWORK ERP DEVELOPER
Core OSGi (adempiere.base, adempiere.server)
ZK UI (adempiere.ui.zk, zk.extra, zk.billboard)
Database drivers (PostgreSQL, Oracle)
Jetty, Hazelcast, Felix web console
Full ERP modules (pipo, replication, webservices)
Print format editor, table partitioning, SSO
Test bundle (org.idempiere.test)

Launching from Eclipse IDE

Each profile has a .launch file. All three use plug-in based launching — same approach as server.product.launch.

Launch File Location in Repo Runtime Workspace
framework.product.launch org.idempiere.p2.profile\framework\ runtime-framework.product\
erp.product.launch org.idempiere.p2.profile\erp\ runtime-erp.product\
developer.product.launch org.idempiere.p2.profile\developer\ runtime-developer.product\

💡 You will see No application id has been found in the console — this is normal and harmless. It's caused by osgi.noShutdown=true and does not affect the running server.

File Structure

org.idempiere.p2.profile/
  features/
    framework/   feature.xml  pom.xml    ← Eclipse Feature (eclipse-feature)
    erp/         feature.xml  pom.xml
    developer/   feature.xml  pom.xml
  framework/     category.xml pom.xml    ← P2 repo + installer (eclipse-repository)
                 framework.product
                 framework.product.launch
  erp/           category.xml pom.xml
                 erp.product
                 erp.product.launch
  developer/     category.xml pom.xml
                 developer.product
                 developer.product.launch
Cookies help us deliver our services. By using our services, you agree to our use of cookies.