How to Develop AEM Projects Using Eclipse

You are reading the AEM 6.2 version of How to Develop AEM Projects Using Eclipse.
This documentation is also available for the following versions:  AEM 6.1  AEM 6.0 

This guide describes how to use Eclipse for developing AEM based projects.

Note

Adobe now provides the AEM Development Tools for Eclipse which helps you to develop AEM solutions with Eclipse.

Overview

To get started with AEM development on Eclipse, the following steps are required.

Each of them is expained in more detail in the remainder of this How-To.

  • Install Eclipse 4.3 (Kepler)
  • Set up your AEM project based on Maven
  • Prepare JSP support for Eclipse in the Maven POM
  • Import the Maven Project into Eclipse

Note

This guide is based on Eclipse 4.3 (Kepler) and AEM 5.6.1.

Install Eclipse

Download the "Eclipse IDE for Java EE Developers" from the Eclipse Downloads page.

Install Eclipse following the Installation Instructions.

Set up your AEM project based on Maven

Next, set up your project using Maven as described in How-To Build AEM Projects using Apache Maven.

For working with AEM projects in Eclipse, the basic setup in Getting Started in 5 Minutes is sufficient.

Prepare JSP Support for Eclipse

Eclipse can also provide support in working with JSP, e.g.

  • auto-completion of tag libraries
  • Eclipse-awareness of objects defined by <cq:defineObjects /> and <sling:defineObjects />

For that to work:

  1. Add the following to the <build /> section in your content module's POM.

    Eclipse's Maven support plugin, m2e, does not provide support for the maven-jspc-plugin, and this configuration tells m2e to ignore the plugin and the related task of cleaning up the temporary compilation results. 

    This is not a problem: as noted in How-To Work with JSPs, the maven-jspc-plugin in this setup is only used to validate that JSPs compile as part of the build process. Eclipse already reports any problems in JSPs and does not rely on this Maven plugin to be able to do so.

    myproject/content/pom.xml
    <build>
      <!-- ... -->
      <pluginManagement>
        <plugins>
          <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
          <plugin>
            <groupId>org.eclipse.m2e</groupId>
            <artifactId>lifecycle-mapping</artifactId>
            <version>1.0.0</version>
            <configuration>
              <lifecycleMappingMetadata>
                <pluginExecutions>
                  <pluginExecution>
                    <pluginExecutionFilter>
                      <groupId>org.apache.sling</groupId>
                      <artifactId>maven-jspc-plugin</artifactId>
                      <versionRange>[2.0.6,)</versionRange>
                      <goals>
                        <goal>jspc</goal>
                      </goals>
                    </pluginExecutionFilter>
                    <action>
                      <ignore/>
                    </action>
                  </pluginExecution>
                  <pluginExecution>
                    <pluginExecutionFilter>
                      <groupId>org.apache.maven.plugins</groupId>
                      <artifactId>maven-clean-plugin</artifactId>
                      <versionRange>[2.4.1,)</versionRange>
                      <goals>
                        <goal>clean</goal>
                      </goals>
                    </pluginExecutionFilter>
                    <action>
                      <ignore/>
                    </action>
                  </pluginExecution>
                </pluginExecutions>
              </lifecycleMappingMetadata>
            </configuration>
          </plugin>
        </plugins>
      </pluginManagement>
    </build>
            

    Code samples are intended for illustration purposes only.

Import the Maven Project into Eclipse

  1. In Eclipse, choose File > Import...

  2. In the Import Dialog, choose Maven > Existing Maven Projects, then click "Next".

    file
  3. Enter the path to your project's top-level folder, then click "Select All" and "Finish".

    file
  4. You are now all set for using Eclipse to develop your AEM project, including JSP autocompletion.

    file

    Note

    If you include /libs/foundation/global.jsp or other JSPs in /libs, you will need to copy that to your project so Eclipse can resolve the inclusion. At the same time, you need to make sure that it is not bundled into your content package by Maven. How to achieve this is described in How to Build AEM Projects using Apache Maven.

Any questions?

Have a question about this or any other AEM topic? Ask our Community.
Learn more about AEM topics on our help hub.
Was this helpful?

By submitting your feedback, you accept the Adobe Terms of Use.

Thank you for submitting your feedback.