AEM Developer Tools for Eclipse
The AEM Developer Tools for Eclipse is a Eclipse plugin based on the Eclipse plugin for Apache Sling released under the Apache License 2.
It offers several features that make AEM development easier:
- Seamless integration with AEM instances through Eclipse Server Connector.
- Synchronization for both content and OSGI bundles.
- Debugging support with code hot-swaping capability.
- Simple bootstrap of AEM projects via a specific Project Creation Wizard.
- Easy editing of JCR properties.
Before using the AEM Developer Tools, you need to:
- Download and install Eclipse IDE for Java EE Developers . AEM Developer Tools currently support Eclipse Kepler or newer
- Can be used with AEM version 5.6.1 or newer
- Configure your eclipse installation to ensure that you have at least 1 gigabyte of heap memory by editing your eclipse.ini configuration file as described in the Eclipse FAQ .
On macOS, you need to right-click on Eclipse.app and then select Show Package Contents in order to find your eclipse.ini .
How to install the AEM Developer Tools for Eclipse
Once you have fulfilled the requirements above, you can install the plugin as follows:
- Browse the AEM .
- Copy the Installation Link .Note that alternatively you can download an archive instead of using the installation link. This allows offline installation but you will miss automatic update notifications this way.
- In Eclipse, open the Help menu.
- Click Install New Software .
- Click Add... .
- In Name type AEM Developer Tools.
- In Location copy the installation URL.
- Click Ok .
- Check both AEM and Sling plugins.
- Click Next .
- Click Next .
- Accept the lincese agreements and click Finish .
- Click Yes in order to restart Eclipse.
How To Import Existing Projects
The AEM Perspective
The AEM Development Tools for Eclipse ships with a Perspective that offers you full control over your AEM projects and instances.
Sample Multi-Module Project
The AEM Developer Tools for Eclipse comes with a sample, multi-module project that helps you quickly get up to speed with a project setup in Eclipse, as well as serving as a best-practice guide to several AEM features. Learn more about the Project Archetype .
Follow these steps to create the sample project:
- In the File > New > Project menu, browse to the AEM section and select AEM Sample Multi-Module Project .
- Click Next .This step might take a while since m2eclipse needs to scan the archetype catalogs.
- Choose com.adobe.granite.archetypes : sample-project-archetype : (highest number) from the menu, then click Next .
- Fill in a Name , Group id and an Artifact id for the sample project. You can also opt to set some advanced properties.
- You should then configure an AEM server to which Eclipse will connect.In order to use the debugger featue, you need to have started AEM in debug mode - which can be achieved eg by adding the following to the command line:
- Click Finish . The project structure is created.On a fresh installation (more specifically: when maven dependencies have never been downloaded) you might get the project created with errors. In this case please follow the procedure describe in Resolving Invalid Project Definition .
Resolving Invalid Project Definition
To resolve invalid dependencies and project definition proceed as follows:
- Select all created projects.
- Right-click. In menu Maven select Update Projects .
- Check Force Updates of Snapshot/Releases .
- Click OK . Eclipse tries to download the required dependencies.
Enabling tag library autocompletion in JSP files
Tag library autocompletion works out of the box, given that the proper dependencies are added to the project. There is one known issue when using the AEM Uber Jar, which does not include the needed tld and TagExtraInfo files.
To work around it, ensure that the org.apache.sling.scripting.jsp.taglib artifact is located in the classpath before the AEM Uber Jar. For Maven projects, place the following dependency in the pom.xml before the Uber Jar.
<dependency> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.scripting.jsp.taglib</artifactId> <scope>provided</scope> </dependency>
Make sure to add the proper version for your deployment of AEM.
The official Apache Sling IDE tooling for Eclipse website provides you with useful information:
- The Apache Sling IDE tooling for Eclipse , this documentation will guide you through the overall concepts, server integration and deployement capabilities supported by the AEM Development Tools.
- The Troubleshooting section .
- The Known issues list .
The following official Eclipse documentation can help to set up your environment: