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 unchanged —
mvn clean verifywith no profile still works exactly as before usingorg.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 foundin the console — this is normal and harmless. It's caused byosgi.noShutdown=trueand 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
