What's new in Maven Archetype for AEM 2.4.0

The wcm.io Maven Archetype for AEM is the best starting point to set up a new AEM application with (or without) wcm.io Support. By using a set of feature flags the new project can be adapted to your needs. Version 2.4.0 comes with some important new features.

AEM Support

The Archetype supports

  • AEM 6.3 with latest service pack

  • AEM 6.4 with latest service pack

  • AEM 6.5 with or without latest service pack

Introduction of WCM Core Components

When wcm.io Handler support is enabled (optionWcmioHandler=y), the project is set up using the brand-new wcm.io WCM Core Components. They provide the full power of the AEM Sites Core Components, enhanced with all features from wcm.io Handler.

With this you can use all the new features described in these related blog posts:

Updated Build/Deploy Scripts

The AEM Archetype provides two convenience scripts that build the whole application and deploy it to a local AEM Author and/or Publish instance. That does not only include the application packages and sample content, but also all system configuration, 3rdparty Packages and AEM Service Packs as required by the application:

  • build-deploy.sh - Build and deploy to author instance

  • build-deploy-publish.sh - Build and deploy to publish instance

The major part of the configuration management and package deployment is based on wcm.io DevOps CONGA.

New in AEM Archetype 2.4.0 is that the Publish port number/URL is no longer spread across different scripts and files, but now maintained centrally in the Parent POM of the application. There is a publish Maven profile to switch to the publish URLs. This resulted in some reworks on the scripts to switch Maven profiles instead of Deployment URLs. Call the script with a help argument to see all supported parameters.

Example for URL definition in Parent POM:

<!-- AEM instance parameters --> <sling.url>http://localhost:4502</sling.url> <sling.publish.url>http://localhost:4503</sling.publish.url>

Deploy individual bundles or content packages

If you want to deploy only a single OSGi bundle you are currently working on to AEM you can use the following shortcut command on the command line:

  • mvn -Pfast cq:install - Install the current maven module to author instance

  • mvn -Pfast,publish cq:install - Install the current maven module to publish instance

Internally this calls the install and sling:install goals.

New in AEM Archetype 2.4.0: This also works for individual content package projects, and internally calls install and wcmio-content-package:install.