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.
~ is used as shorthand for the User’s Directory. In Windows, this is the equivalent of
Experience Manager is a Java application, and thus requires the Java SDK to support the development and the AEM as a Cloud Service SDK.
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.
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.
brew install git
brew install node
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.
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.
brew install maven
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:
node --versionto confirm
npm install -g @adobe/aio-clito install the
aionpm module globally
The Adobe I/O Cloud Manager plugin allows the aio CLI to interact with Adobe Cloud Manager via the
aio cloudmanager command.
aio plugins:install @adobe/aio-cli-plugin-cloudmanagerto install the aio Cloud Manager plug-in.
The Adobe I/O Cloud Manager plugin allows the aio CLI to generate and run Asset Compute workers via the
aio asset-compute command.
aio plugins:install @adobe/aio-cli-plugin-asset-computeto install the aio Asset Compute plug-in.
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.
config.jsonfile into the Adobe I/O CLI
$ aio config:set ims.contexts.aio-cli-plugin-cloudmanager PATH_TO_CONFIG_JSON_FILE --file --json
private.keyfile into the Adobe I/O CLI
$ aio config:set ims.contexts.aio-cli-plugin-cloudmanager.private_key PATH_TO_PRIVATE_KEY_FILE --file
Begin executing commands for Cloud Manager via the Adobe I/O CLI.
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.
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.