Maven Build Profiles
Profiles at a Glance
| Profile | Command | Output ZIP |
|---|---|---|
core
|
mvn clean verify -P common,core
|
org.idempiere.p2.core-{version}.zip
|
extended
|
mvn clean verify -P common,extended
|
org.idempiere.p2.extended-{version}.zip
|
full (default)
|
mvn clean verify
|
org.idempiere.p2-{version}.zip
|
💡 Common profile — Shared modules used by both core and extended profiles.
💡 Full (default) build unchanged — Works exactly as before using
org.idempiere.p2.
Common Profile
Shared modules used by both core and extended profiles. Not meant to be used standalone — always combine with a tier profile: -P common,core or -P common,extended
Modules:
| 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.idempiere.printformat.editor
|
org.idempiere.zk.billboard
|
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.idempiere.tablepartition
|
org.adempiere.install
|
org.adempiere.plugin.utils
|
org.adempiere.pipo
|
org.adempiere.pipo.handlers
|
org.idempiere.ui.sso.oidc
|
org.idempiere.extension.manager
|
org.idempiere.core.runtime-feature
|
org.idempiere.eclipse.platform-feature
|
org.idempiere.equinox.p2.director-feature
|
Core Profile
Build command:
mvn clean verify -P common,core -U
Output:
- ZIP:
org.idempiere.p2.profile\core\target\org.idempiere.p2.core-{version}.zip - P2 repository:
org.idempiere.p2.profile\core\target\repository\
Modules: All common modules, plus the following:
| Module |
|---|
org.idempiere.p2.profile/features/core
|
org.idempiere.p2.profile/core
|
Extended Profile
Build command:
mvn clean verify -P common,extended -U
Output:
- ZIP:
org.idempiere.p2.profile\extended\target\org.idempiere.p2.extended-{version}.zip - P2 repository:
org.idempiere.p2.profile\extended\target\repository\
Modules: All common modules, plus the following:
| Module |
|---|
org.idempiere.acct
|
org.idempiere.p2.profile/features/core
|
org.idempiere.p2.profile/features/extended
|
org.idempiere.p2.profile/extended
|
What's in Each Profile
| Bundle / Feature | CORE | EXTENDED | FULL (default) |
|---|---|---|---|
| Core OSGi (adempiere.base, adempiere.server) | ✅ | ✅ | ✅ |
| ZK UI (adempiere.ui.zk, zk.extra, zk.billboard) | ✅ | ✅ | ✅ |
| Database drivers (PostgreSQL, Oracle) | ✅ | ✅ | ✅ |
| Jetty, Hazelcast, Felix web console | ✅ | ✅ | ✅ |
| Pack-In / Pack-Out, Table Partitioning, SSO | ✅ | ✅ | ✅ |
| Accounting | ❌ | ✅ | ✅ |
| Payment Processor, Replication, Web Services | ❌ | ❌ | ✅ |
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 |
|---|---|---|
core.product.launch
|
org.idempiere.p2.profile\core\
|
runtime-core.product\
|
extended.product.launch
|
org.idempiere.p2.profile\extended\
|
runtime-extended.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/
core/ feature.xml pom.xml ← Eclipse Feature (eclipse-feature)
extended/ feature.xml pom.xml
core/ category.xml pom.xml ← P2 repo + installer (eclipse-repository)
core.product
core.product.launch
extended/ category.xml pom.xml
extended.product
extended.product.launch
org.idempiere.core.runtime-feature
A custom Eclipse feature created for the Maven build profiles. It aggregates all plugins from the standard core-feature modules into a single feature, while explicitly excluding extended bundles (keikai, billboard chart, datatable, pivot).
It replaces org.adempiere.server.feature in the core and extended profile .product files. The original org.adempiere.server.feature could not be used directly because it includes extended bundles (webservices, replication, payment processor) which would leak into the core and extended installers.
It also provides setup scripts (console-setup-alt, idempiere-server etc.) via build.properties root files, referencing them directly from org.adempiere.server-feature without duplicating the files.
| Feature ID | org.idempiere.core.runtime.feature
|
| Location | org.idempiere.core.runtime-feature/
|
| Plugins | 255 (aggregated from 9 existing features) |
| Excluded | org.idempiere.keikai, org.idempiere.zk.billboard.chart, org.idempiere.zk.datatable, org.idempiere.zk.pivot
|
| Used by | core.product, extended.product
|
