Maven Build Profiles

From iDempiere en

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.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.server.runtime-feature
org.idempiere.eclipse.platform-feature
org.idempiere.equinox.p2.director-feature
org.idempiere.felix.webconsole-feature
org.adempiere.report.jasper-feature
org.adempiere.pipo-feature
org.idempiere.hazelcast.service-feature
org.compiere.db.provider-feature
org.idempiere.bouncy.castle-feature
org.idempiere.zk-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 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/
    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.server.runtime-feature

org.idempiere.server.runtime-feature is a stripped-down version of org.adempiere.server-feature used in core and extended builds. It retains only the packaging directives in build.properties — including setup scripts, Jetty home configuration, setup data, and migration scripts — while all plugin declarations are consolidated in org.idempiere.core.feature to avoid duplication.

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