Prepare JSP Support for IntelliJ IDEA
IntelliJ IDEA can also provide support in working with JSP, e.g.
- auto-completion of tag libraries
- awareness of objects defined by
<cq:defineObjects />
and<sling:defineObjects />
For that to work, follow the instructions on How-To Work with JSPs in How-To Build AEM Projects using Apache Maven.
Import the Maven Project
-
Open the Import dialog in IntelliJ IDEA by
- selecting Import Project on the welcome screen if you have no project open yet
- selecting File -> Import Project from the main menu
-
In the Import dialog, select the POM file of your project.
-
Continue with the default settings as shown in the dialog below.
-
Continue through the following dialogs by clicking Next and Finish.
-
You are now set up for AEM Development using IntelliJ IDEA
Debugging JSPs with IntelliJ IDEA
The following steps are necessary for debugging JSPs with IntelliJ IDEA
- Set up a Web Facet in the Project
- Install the JSR45 support plugin
- Configure a Debug Profile
- Configure AEM for Debug Mode
Set up a Web Facet in the Project
IntelliJ IDEA needs to understand where to find the JSPs for debugging. As IDEA cannot interpret the content-package-maven-plugin
settings, this needs to be configured manually.
- Go to File -> Project Structure
- Select the Content module
- Click + above the list of modules and select Web
- As the Web Resource Directory, select the
content/src/main/content/jcr_root subdirectory
of your project as shown in the screen shot below.
Install the JSR45 support plugin
- Go to the Plugins pane in the IntelliJ IDEA settings
- Navigate to the JSR45 Integration Plugin and select the check box next to it
- Click Apply
- Restart IntelliJ IDEA when requested to
Configure a Debug Profile
- Go to Run -> Edit Configurations
- Hit the + and select JSR45 Remote
- In the configuration dialog, select Configure next to Application Server and configure a Generic server
- Set the start page to an appropriate URL if you want to open a browser when you start debugging
- Remove all Before launch tasks if you use vlt autosync, or configure appropriate Maven tasks if you don’t
- On the Startup/Connection pane, adjust the port if required
- Copy the command line arguments that IntelliJ IDEA proposes
Configure AEM for Debug Mode
The last step required is to start AEM with the JVM options proposed by IntelliJ IDEA.
You can do this by starting the AEM jar file directly and adding these options, for example with the following command line:
java -Xdebug -Xrunjdwp:transport=dt_socket,address=58242,suspend=n,server=y -Xmx1024m -XX:MaxPermSize=256M -jar cq-quickstart-5.6.1.jar
You can also add these options to your start script in crx-quickstart/bin/start
as shown below.
# ...
>[!CAUTION]
>
>AEM 6.4 has reached the end of extended support and this documentation is no longer updated. For further details, see our [technical support periods](https://helpx.adobe.com/support/programs/eol-matrix.html). Find the supported versions [here](https://experienceleague.adobe.com/docs/?lang=en).
# default JVM options
>[!CAUTION]
>
>AEM 6.4 has reached the end of extended support and this documentation is no longer updated. For further details, see our [technical support periods](https://helpx.adobe.com/support/programs/eol-matrix.html). Find the supported versions [here](https://experienceleague.adobe.com/docs/?lang=en).
if [ -z "$CQ_JVM_OPTS" ]; then
CQ_JVM_OPTS='-server -Xmx1024m -XX:MaxPermSize=256M -Djava.awt.headless=true'
fi
CQ_JVM_OPTS="$CQ_JVM_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=58242,suspend=n,server=y"
# ...
>[!CAUTION]
>
>AEM 6.4 has reached the end of extended support and this documentation is no longer updated. For further details, see our [technical support periods](https://helpx.adobe.com/support/programs/eol-matrix.html). Find the supported versions [here](https://experienceleague.adobe.com/docs/?lang=en).