Speed up Local Development in Multi-module AEM Projects | Community
Skip to main content
daniel-strmecki
Community Advisor and Adobe Champion
Community Advisor and Adobe Champion
February 20, 2025

Speed up Local Development in Multi-module AEM Projects

  • February 20, 2025
  • 6 replies
  • 927 views

Speed up Local Development in Multi-module AEM Projects

by @daniel-strmecki

 

Introduction

Developing and testing in Adobe Experience Manager (AEM) can be a time-consuming process, especially in large, multi-module projects with multiple teams working in parallel. If every small change requires a full Maven build and deployment, then the development cycle will dramatically slow down as the project grows.

In this article, we’ll explore a few tools and commands that can supercharge your local development workflow. By reducing build times and enabling instant file synchronization, these tools help AEM developers focus on writing code instead of waiting for deployments. Whether you're building components, refining styles, or optimizing backend logic, these techniques can save you minutes, if not hours, every day.

 

Key Points

For standard CI/CD environments like GitHub Actions, a standard, full Maven build is still recommended. Here is why:

  • Standard Maven is pre-installed in most CI/CD runners.
  • Parallel execution that Demon provides may not work well in restricted resource environments.
  • CI/CD environments usually start fresh VMs/containers for each run, so the Daemon does not persist between builds.
  • Deamon modifies the way logs are presented, which might make debugging harder.

However, for local development environments, Maven Deamon and the AEM Sync utility are great. As best practice for development and testing use:

  • A modern IDE like InteliJ IDEA for debugging/running unit tests.
  • AEM Sync to install and test changes that include XML, HTML, CSS, or JS files.
  • Maven Demon to install and test changes that include Java and OSGi files.
  • Full Maven build when a feature is finalized, to ensure the new code and tests integrate well. Ideally, before we open a pull request.

With this setup, developers can increase productivity. The downside is that they only get to drink coffee once a feature is done.

 

Full Article

Read the full article on https://meticulous.digital/blog/f/speed-up-local-development-in-multi-module-aem-projects to find out more.


Q&A

Please use this thread to ask questions relating to this article

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.

6 replies

abhishekanand_
Community Advisor
Community Advisor
February 21, 2025

Thanks for sharing this insightful blog @daniel-strmecki , not long ago i came across the maven daemon one and this does make a difference.

Below is another resource on maven daemon https://hackernoon.com/tired-of-slow-maven-builds-you-might-want-to-try-mvnd 

Abhishek Anand
narendiran_ravi
Level 6
February 21, 2025

This is very informative @daniel-strmecki .

Tethich
Community Advisor
Community Advisor
February 21, 2025

I can confirm the shared knowledge is really valuable as it did a great positive difference on our project.

 

I would add in addition, that the parallel builds refer to building Maven modules, so it is really efficient when you have more and more modules. Also it can be configured to run not only with one thread per CPU core, as the official documentation states:

- https://cwiki.apache.org/confluence/display/MAVEN/Parallel+builds+in+Maven+3

 

Also, part of the local development is also the last step when one has to actually push the final work. At that point we need to not skip tests anymore, but rather run them all. Therefore I would add that some configurations to enable parallel execution of unit tests would also be helpful. This site (fun fact: owned by my fellow countryman who also shared same faculty as myself in the same period of time), has a great article on the topic:

- https://www.baeldung.com/junit-5-parallel-tests

 

All this being said, I really appreciate your blog articles @daniel-strmecki

daniel-strmecki
Community Advisor and Adobe Champion
Community Advisor and Adobe Champion
February 21, 2025

All valid points @tethich, thanks for sharing.

Fun fact: I used to write for Bealdung before I started my blog: https://www.baeldung.com/author/danielstrmecki🙂

ndresgarc
Level 2
February 24, 2025

Thanks for sharing, @daniel-strmecki 
I've been looking for a way to speed up my compilation for a long time.

Uppari_Ramesh
Level 5
July 21, 2025

Helpful , thanks @daniel-strmecki