Show Menu
TOPICS×

Set up Development Tools for AEM Projects

Adobe Experience Manager (AEM) development requires a minimal set of development tooling to be installed and set up on the developer machine. These tools support the development and building of AEM Projects.

Install Java

Experience Manager is a Java application, and thus requires the Java SDK to support the development and the AEM as a Cloud Service SDK.
  1. Verify Java 11 SDK is installed by running the command: java --version

Install Homebrew

The use of Homebrew is optional, but recommended.
Homebrew is a open-source package manager for macOS, Windows and Linux. All the supporting tools can be installed separately, Homebrew provides a convenient way to install and update a variety of development tools required for Experience Manager development.
  1. Open your Terminal
  2. Check if Homebrew is already installed by running the command: brew --version .
  3. If Homebrew is not installed, install Homebrew
  4. Verify Homebrew is installed by running the command: brew --version
If you are using Homebrew, follow the Install using Homebrew instructions in the sections below. If you are not using Homebrew, install the tools using the OS-specific links.

Install Git

Git is the source control management system used by Adobe Cloud Manager , and thus is required for development.
  • Install Git using Homebrew
    1. Open your Terminal
    2. Execute the command: brew install git
    3. Verify Git is installed, using the command: git --version
  • Or, download and install Git (macOS, Linux or Windows)
    1. Open your Terminal
    2. Verify Git is installed, using the command: git --version

Install Node.js (and npm)

Node.js is a JavaScript runtime environment used to work with the front-end assets of an AEM project's ui.frontend sub-project. Node.js is distributed with npm , is the defacto Node.js package manager, used to manage JavaScript dependencies.
  • Install Node.js using Homebrew
    1. Open your Terminal
    2. Execute the command: brew install node
    3. Verify Node.js is installed, using the command: node -v
    4. Verify npm is installed, using the command: npm -v
  • Or, download and install Maven (macOS, Linux or Windows)
    1. Open your Terminal
    2. Verify Node.js is installed, using the command: node -v
    3. Verify npm is installed, using the command: npm -v
AEM Project Archetype -based AEM Projects install an isolated version of Node.js at build time. It is good to keep the local development system's version in sync (or close to) the Node.js and npm versions specified in your AEM Maven project's Reactor pom.xml. See this example AEM Project Reactor pom.xml for where to locate the Node.js and npm build versions.

Install Maven

Apache Maven is the open-source Java command-line tool used to build AEM Projects generated from the AEM Project Maven Archetype. All major IDE's ( IntelliJ IDEA , Visual Studio Code , Eclipse , etc.) have integrated Maven support.
  • Install Maven using Homebrew
    1. Open your Terminal
    2. Execute the command: brew install maven
    3. Verify Maven is installed, using the command: mvn -v
  • Or, download and install Maven (macOS, Linux or Windows)
    1. Open your Terminal
    2. Verify Maven is installed, using the command: mvn -v

Register the Adobe Public Repository with Maven

Adobe manages a Java artifact repository that Adobe Cloud Manager, by default, has access to this repository during the build of any AEM project, thus it's important to ensure all Java dependencies used by an AEM project are provided by this repository†.
While the AEM Project generated by the AEM Project Maven Archetype embeds a repository registration for Adobe's artifact repository into the project's pom.xml, it must be registered in your local settings.xml to invoke the AEM Project Maven Archetype in order to generate a new project. To do this, update the ~/.m2/settings.xml and add to <profiles> the Adobe Public Profile XML Snippet .
It is recommended that the profile be active by default, otherwise, this profile must be explicitly activated using the -P flag, mvn -Padobe-public ... .
<activation>
    <activeByDefault>true</activeByDefault>
</activation>

† Adobe Cloud Manager can access other public or locally embedded artifact repositories by including those repository registration in the AEM Project's pom.xml. Using external repositories is discouraged as it introduces a point of failure in the build process that Adobe cannot guarantee.

Set the Development IDE

AEM development primarily consists of Java and Front-end (JavaScript, CSS, etc) development and XML management. The following are the most popular IDEs for AEM development.

IntelliJ IDEA

IntelliJ IDEA is a powerful IDE for Java development. IntelliJ IDEA comes in two flavors, a free Community edition and a commercial (paid) Ultimate version. The free Community version is sufficient for AEM development, however the Ultimate expands its capability set .

Microsoft Visual Studio Code

Visual Studio Code (VS Code) is a free, open-source tool for front-end developers. Visual Studio Code can be set up to integrate content sync with AEM with the help of an Adobe tool, repo .
Visual Studio Code is the ideal choice for front-end developers primarily creating front-end code; JavaScript, CSS and HTML. While VS Code has Java support via extensions , it may lack some of the advanced features provided by more Java-specific.

Eclipse

Eclipse IDE is a popular IDEs for Java development, and supports the AEM Developer Tools plug-in provided by Adobe, providing an in-IDE GUI for authoring and to synchronize JCR content with a local AEM instance.