Développement de projets AEM à l’aide de IntelliJ IDEA

Présentation

Pour commencer le développement d’AEM avec IntelliJ, procédez comme suit :

Chacune des étapes suivantes est expliquée plus en détail dans le reste de cette rubrique d’aide.

  • Installation de IntelliJ
  • Configuration du projet AEM basé sur Maven
  • Préparation de la prise en charge des JSP pour IntelliJ dans le POM Maven
  • Importation du projet Maven dans IntelliJ
Remarque

Ce guide est basé sur IntelliJ IDEA Ultimate Edition 12.1.4 et AEM 5.6.1.

Installation de IntelliJ IDEA

Téléchargez IntelliJ IDEA depuis la page des téléchargements de JetBrains.

Puis, suivez les instructions d’installation de cette page.

Configuration du projet AEM basé sur Maven

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

To start working with AEM projects in IntelliJ IDEA, the basic setup in Getting Started in 5 Minutes is sufficient.

Préparation de la prise en charge des JSP pour IntelliJ IDEA

IntelliJ IDEA peut également fournir une aide pour l’utilisation des JSP, par exemple

  • le renseignement automatique des bibliothèques de balises
  • 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.

Importation du projet Maven

  1. 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
  2. Dans la boîte d’importation, sélectionnez le fichier POM du projet.

    chlimage_1-45

  3. Continuez avec les paramètres par défaut comme indiqué dans la boîte de dialogue ci-dessous.

    chlimage_1-46

  4. Continue through the following dialogs by clicking Next and Finish.

  5. Vous êtes désormais prêt pour le développement d’AEM à l’aide de IntelliJ IDEA

    chlimage_1-47

Débogage des JSP avec IntelliJ IDEA

Les étapes suivantes sont requises pour le débogage des JSPs avec IntelliJ IDEA

  • Configuration d’une facette Web dans le projet
  • Installation du plugin de prise en charge de JSR45
  • Configuration d’un profil de débogage
  • Configuration d’AEM pour le mode débogage

Configuration d’une facette Web dans le projet

IntelliJ IDEA doit comprendre où trouver les JSP pour débogage. Comme IDEA ne peut pas interpréter les paramètres content-package-maven-plugin, ils doivent être configurés manuellement.

  1. Go to File -> Project Structure
  2. Select the Content module
  3. Click + above the list of modules and select Web
  4. En tant que Répertoire de ressources Web, sélectionnez le nom content/src/main/content/jcr_root subdirectory de votre projet, comme le montre la capture d'écran ci-dessous.

chlimage_1-48

Installation du plugin de prise en charge de JSR45

  1. Go to the Plugins pane in the IntelliJ IDEA settings
  2. Navigate to the JSR45 Integration Plugin and select the check box next to it
  3. Cliquez sur Appliquer
  4. Redémarrez IntelliJ IDEA lorsque vous y êtes invité

chlimage_1-49

Configuration d’un profil de débogage

  1. Go to Run -> Edit Configurations
  2. Hit the + and select JSR45 Remote
  3. In the configuration dialog, select Configure next to Application Server and configure a Generic server
  4. Définissez la page de démarrage sur une URL appropriée si vous souhaitez ouvrir un navigateur lorsque vous commencez le débogage.
  5. Remove all Before launch tasks if you use vlt autosync, or configure appropriate Maven tasks if you don't
  6. On the Startup/Connection pane, adjust the port if required
  7. Copiez les arguments de ligne de commande que IntelliJ IDEA propose

chlimage_1-50 chlimage_1-51

Configuration d’AEM pour le mode débogage

La dernière étape requise consiste à démarrer AEM avec les options JVM proposées par IntelliJ IDEA.

Vous pouvez réaliser cette opération en lançant le fichier jar AEM directement et en ajoutant ces options, par exemple avec la ligne de commande suivante :

java -Xdebug -Xrunjdwp:transport=dt_socket,address=58242,suspend=n,server=y -Xmx1024m -XX:MaxPermSize=256M -jar cq-quickstart-5.6.1.jar

Vous pouvez également ajouter ces options au script de démarrage dans crx-quickstart/bin/start comme indiqué ci-dessous.

# ...

# default JVM options
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"

# ...

Lancement du débogage

Vous êtes désormais prêt à déboguer les JSP dans AEM.

  1. Select Run -> Debug -> Your Debug Profile
  2. Définissez des points d’arrêt dans le code du composant
  3. Accédez à une page du navigateur

chlimage_1-52

Débogage des lots avec IntelliJ IDEA

Le code des lots peut être débogué à l’aide d’une connexion de débogage à distance générique standard. Vous pouvez consulter la documentation Jetbrain sur le débogage à distance.

Sur cette page