You're viewing help content for version:

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>

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".

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

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

    chlimage_1

    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.

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy