Show Menu
TOPICS×

Set up development tools

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.
Note that ~ is used as shorthand for the User's Directory. In Windows, this is the equivalent of %HOMEPATH% .

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:
    • Windows: java -version
    • macOS / Linux: 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/Command Prompt
    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/Command Prompt
    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/Command Prompt
    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 Node.js (macOS, Linux or Windows)
    1. Open your Terminal/Command Prompt
    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/Command Prompt
    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/Command Prompt
    2. Verify Maven is installed, using the command: mvn -v

Set up Adobe I/O CLI

The Adobe I/O CLI , or aio , provides command line access to a variety of Adobe services, including Cloud Manager and Asset Compute . The Adobe I/O CLI plays an integral role in development on AEM as a Cloud Service as it provides developers the ability to:
  • Tail logs from AEM as a Cloud Services services
  • Manage Cloud Manager pipelines form the CLI

Install the Adobe I/O CLI

  1. Ensure Node.js is installed as the Adobe I/O CLI is an npm module
    • Run node --version to confirm
  2. Execute npm install -g @adobe/aio-cli to install the aio npm module globally

Set up the Adobe I/O CLI Cloud Manager plugin

The Adobe I/O Cloud Manager plugin allows the aio CLI to interact with Adobe Cloud Manager via the aio cloudmanager command.
  1. Execute aio plugins:install @adobe/aio-cli-plugin-cloudmanager to install the aio Cloud Manager plug-in .

Set up the Adobe I/O CLI Asset Compute plugin

The Adobe I/O Cloud Manager plugin allows the aio CLI to generate and run Asset Compute workers via the aio asset-compute command.
  1. Execute aio plugins:install @adobe/aio-cli-plugin-cloudmanager to install the aio Asset Compute plug-in .

Set up the Adobe I/O CLI authentication

In order for the Adobe I/O CLI to communicate with Cloud Manager, a Cloud Manager integration must be created in Adobe I/O Console, and credentials must be obtained to successfully authenticate.

  1. Ensure your Organization that includes the Cloud Manager product to connect to is active in the Adobe Org switcher
  2. Create a new or open an existing Adobe I/O program
    • Adobe I/O Console programs are simply organizational groupings of integrations, create or use and existing program based on how you want to manage your integrations
    • If creating a new project, select "Empty Project" if prompted (vs. Create from Template)
    • Adobe I/O Console programs are different concepts to Cloud Manager programs
  3. Create a new Cloud Manager API integration with the "Developer - Cloud Service" profile
  4. Obtain the Service Account (JWT) credentials needs to populate Adobe I/O CLI's config.json
  5. Load the config.json file into the Adobe I/O CLI
    • $ aio config:set jwt-auth PATH_TO_CONFIG_JSON_FILE --file --json
  6. Load the private.key file into the Adobe I/O CLI
    • $ aio config:set jwt-auth.jwt_private_key PATH_TO_PRIVATE_KEY_FILE --file
Begin executing commands for Cloud Manager via the Adobe I/O CLI.

Set up 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.