Elastic Path Commerce Development

Elastic Path Maven Profiles

Elastic Path Maven Profiles

Maven build profiles are sets of configuration settings for building your software in different environments. For example, if you have tomcat-developer as an active profile, Maven builds your projects according to the tomcat-developer settings, which in this case builds your web applications into a deployable Tomcat WAR.

Elastic Path defines a number of build profiles in commerce-engine/pom.xml so you can build and deploy your Elastic Path Commerce platform on different application servers and databases. You can activate or deactivate the build profiles in your Maven settings.xml file that is located in your .m2 directory.

Application Server Profiles

The application server profiles are used to configure the type of WAR file generated by Maven. Choose the appropriate profile for your server.

Profile WAR file

tomcat-developer

Tomcat WAR with HTTP port 8080 and HTTPS port 8443

Additional profiles can be used to modify the Tomcat ports for for development:

Profile Description

ep-developer

Assigns separate ports for each webapp. See Running Webapps.

Note: Changing Profiles

If you switch application server profiles as you are developing, you must re-populate your database with the settings associated with these profiles as described in Populate_the_Database.html#Populate_the_Database.

Database Profiles

The database server profiles are used to configure the database the Elastic Path platform uses. Choose the appropriate profile for your database system.

Database Profile Database

mysql-dev-db

MySQL

oracle-dev-db

Oracle

mssql-dev-db

MSSQL

Code Compliance Profiles

The code compliance profiles control the level of code compliance checking.

Compliance Profile Behavior

enforce-code-compliance

Runs PMD and Checkstyle checks. Build fails if there are compliance errors.

pass-build-even-if-code-compliance-fails

Runs PMD and Checkstyle checks. Build passes if there are compliance errors.

skip-code-compliance Skips all code compliance checks.

Packaging Profiles

Packaging profiles control which packaging projects are in the extensions/packager module.

Profile Description

with-deployment-package

Includes the extensions/packager/ext-deployment-package module, which creates a ZIP usable by the Pusher deployment tool.

with-demo-package

Includes the extensions/packager/standalone-demo module, which creates a standalone demo ZIP. The standalone demo ZIP contains all necessary components to start up Elastic Path web applications.

Default profiles in settings.xml

The global profiles that are active in the default extensions/maven/settings.xml file are:

Profile Description

ep-developer

Assigns separate ports for each web app. See Running Webapps.

tomcat-developer Generates Tomcat WARs.
mysql-dev-db Configures MySQL database.
with-oauth2-resource Configures Cortex to use OAuth 2.0 authentication.
activemq-dev-jms Configures JMS to use ActiveMQ broker on port 61616.