Outils de développement AEM pour Eclipse aem-developer-tools-for-eclipse

Logo Outils de développement Experience Manager pour Eclipse

Vue d’ensemble overview

Les outils de développement Experience Manager pour Eclipse sont un plug-in Eclipse basé sur le plug-in Eclipse pour Apache Sling disponible avec Apache License 2.

Il offre plusieurs fonctionnalités qui facilitent le développement d’AEM :

  • Intégration transparente avec les instances AEM via Eclipse Server Connector
  • Synchronisation pour les bundles de contenu et d’OSGi
  • Prise en charge du débogage avec fonctionnalité de remplacement de code à chaud
  • Démarrage simple de projets AEM par l’intermédiaire d’un assistant de création de projet spécifique
  • Modification facile des propriétés JCR

Conditions requises requirements

Avant d’utiliser AEM Developer Tools, vous devez :

NOTE
Sur macOS, vous devez cliquer avec le bouton droit de la souris sur Eclipse.app, puis sélectionner Afficher le contenu du module pour trouver votre eclipse.ini.

Comment installer AEM Developer Tools pour Eclipse how-to-install-the-aem-developer-tools-for-eclipse

Une fois les conditions préalables ci-dessus réunies, vous pouvez installer le plug-in comme suit :

  1. Ouvrez le site Web des outils de développement AEM.

  2. Copiez le lien d’installation.

    Notez que vous pouvez également télécharger une archive au lieu d’utiliser le lien d’installation. Cela permet une installation hors ligne, mais sans recevoir les notifications de mise à jour automatique.

  3. Dans Eclipse, ouvrez le menu Aide.

  4. Cliquez sur Installer un nouveau logiciel.

  5. Cliquez sur Add… (Ajouter).

  6. Dans le champ Nom, saisissez AEM Developer Tools.

  7. Dans le champ Emplacement, copiez l’URL d’installation.

  8. Cliquez sur Add (Ajouter).

  9. Cochez les plug-ins AEM et Sling.

  10. Cliquez sur Next (Suivant).

  11. Dans la fenêtre Install Details (Détails de l’installation), cliquez de nouveau sur Next (Suivant).

  12. Acceptez les contrats de licence et cliquez sur Finish (Terminer).

  13. Cliquez sur Redémarrer maintenant pour redémarrer Eclipse.

La perspective d’AEM the-aem-perspective

Dans Eclipse, une perspective détermine les actions et les vues disponibles dans une fenêtre et permet une interaction axée sur les tâches avec les ressources. Pour plus d’informations sur les perspectives, consultez la documentation d’Eclipse.

Les outils de développement Experience Manager pour Eclipse offrent une perspective AEM qui vous permet de contrôler intégralement vos projets et instances AEM. Pour ouvrir la perspective AEM :

  1. Dans la barre de menus Eclipse, sélectionnez Window > Perspective > Open Perspective > Other.
  2. Sélectionnez AEM dans la boîte de dialogue et cliquez sur Ouvrir.

La perspective AEM dans Eclipse

Exemple de projet multi-module sample-multi-module-project

Les outils de développement Experience Manager pour Eclipse s’accompagnent d’un exemple de projet multi-module qui vous permet de vous familiariser rapidement avec la configuration d’un projet dans Eclipse. Ils servent également de guide des bonnes pratiques pour plusieurs fonctionnalités AEM. En savoir plus sur l’archétype du projet.

Pour créer l’exemple de projet, procédez comme suit :

  1. Dans le menu Fichier  > Nouveau  > Projet, accédez à la section AEM et sélectionnez Exemple de projet multi-module AEM.

    Exemple de projet multi-module AEM

  2. Cliquez sur Next (Suivant).

    note note
    NOTE
    Cette étape peut prendre un certain temps car m2eclipse doit analyser les catalogues de l’archétype.
  3. Sélectionnez com.adobe.granite.archetypes : sample-project-archetype : <highest-number> dans le menu, puis cliquez sur Next (Suivant).

    Sélectionnez la version de l’archétype

  4. Fournissez les champs suivants pour l’exemple de projet :

    • Name (Nom)
    • Group Id (ID de groupe)
    • Artifact Id (ID d’artefact)
    • appId  : vous devrez peut-être développer les options Advanced (Avancé) pour définir cette valeur.
    • appTitle  : vous devrez peut-être développer les options Advanced pour définir cette valeur.
    • Package  : vous devrez peut-être développer les options Advanced pour définir cette valeur.

    Définition des propriétés d’archétype

  5. Cliquez sur Next (Suivant).

  6. Vous devez ensuite configurer un serveur AEM auquel Eclipse se connectera.

    Pour utiliser la fonctionnalité de débogage, vous devez avoir démarré AEM en mode de débogage, ce qui peut être réalisé en ajoutant ce qui suit à la ligne de commande :

    code language-text
        -nofork -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=10123
    

    Connexion au serveur AEM

  7. Cliquez sur Finish (Terminer). La structure du projet est créée.

    note note
    NOTE
    Sur une nouvelle installation (plus précisément, si les dépendances Maven n’ont jamais été téléchargées), vous risquez de créer le projet avec des erreurs. Dans ce cas, suivez la procédure décrite dans la section Résoudre une définition de projet non valide.

Comment importer des projets existants how-to-import-existing-projects

Vous pouvez utiliser la fonction Nouveau projet pour créer la structure qui vous convient :

  1. Suivez les instructions afin de créer un exemple de projet multi-module et les projets suivants seront créés pour vous, ce qui permettra de séparer efficacement les préoccupations :

    • PROJECT.ui.apps pour le contenu /apps et /etc
    • PROJECT.ui.content pour le /content qui est créé
    • PROJECT.core pour les bundles Java™ (ils deviennent intéressants dès que vous voulez ajouter du code Java™)
    • PROJECT.it.launcher et PROJECT.it.tests pour les tests d’intégration
  2. Remplacez le contenu de votre projet PROJECT.ui.apps par les dossiers apps et etc de votre package :

    1. Dans le panneau Project Explorer (Explorateur de projets), développez PROJECT.ui.apps > src > main > content > jcr_root > apps.
    2. Cliquez avec le bouton droit sur le dossier apps et choisissez Afficher dans > Explorateur système.
    3. Supprimez les dossiers apps et etc que vous devriez voir maintenant et placez ici les dossiers apps et etc de votre package de contenu.
    4. Dans Eclipse, cliquez avec le bouton droit sur le projet PROJECT.ui.apps et choisissez Actualiser.
  3. Faites ensuite de même pour PROJECT.ui.content et remplacez son dossier de contenu par celui de vos packages :

    1. Dans le panneau Project Explorer (Explorateur de projets), développez PROJECT.ui.content > src > main > content > jcr_root > content.
    2. Cliquez avec le bouton droit sur le dossier de contenu plus profond et choisissez Afficher dans > Explorateur système.
    3. Supprimez le dossier de contenu que vous devriez voir maintenant et placez ici le dossier de contenu de votre package de contenu.
    4. Dans Eclipse, cliquez avec le bouton droit sur le projet PROJECT.ui.content et choisissez Actualiser.
  4. Vous devez maintenant mettre à jour les fichiers filter.xml de ces deux projets pour qu’ils correspondent au contenu de votre package de contenu. Pour cela, ouvrez le fichier META-INF/vault/filter.xml de votre package de contenu dans un éditeur de texte/code distinct.

    • Voici un exemple de l’aspect que peut avoir votre fichier filter.xml :
    code language-xml
    <?xml version="1.0" encoding="UTF-8"?>
    <workspaceFilter version="1.0">
        <filter root="/apps/foo"/>
        <filter root="/apps/foundation/components/bar"/>
        <filter root="/etc/designs/foo"/>
        <filter root="/content/foo"/>
        <filter root="/content/dam/foo"/>
        <filter root="/content/usergenerated/content/foo"/>
    </workspaceFilter>
    
  5. Concernant le contenu de votre package qui a été divisé en deux projets, vous devrez également diviser ces règles de filtrage en deux et mettre à jour les fichiers filter.xml de ces deux projets en conséquence.

    1. Dans Eclipse, ouvrez PROJECT.ui.apps/src/main/content/META-INF/filter.xml.

    2. Remplacez le contenu de l’élément <workspaceFilter> par les règles de votre package qui commencent par /apps et /etc.

      • Par exemple :

        code language-xml
        <?xml version="1.0" encoding="UTF-8"?>
        <workspaceFilter version="1.0">
           <filter root="/apps/foo"/>
           <filter root="/apps/foundation/components/bar"/>
           <filter root="/etc/designs/foo"/>
        </workspaceFilter>
        
    3. Ouvrez ensuite PROJECT.ui.content/src/main/content/META-INF/filter.xml.

    4. Remplacez les règles par celles de votre package qui commencent par /content.

      • Par exemple :

        code language-xml
        <?xml version="1.0" encoding="UTF-8"?>
        <workspaceFilter version="1.0">
           <filter root="/content/foo"/>
           <filter root="/content/dam/foo"/>
           <filter root="/content/usergenerated/content/foo"/>
        </workspaceFilter>
        
  6. Veillez à enregistrer toutes vos modifications. Vous pouvez désormais synchroniser ce nouveau contenu avec votre instance AEM.

  7. Dans le panneau Servers (Serveurs), assurez-vous que votre connexion est démarrée. Si ce n’est pas le cas, démarrez-la.

  8. Cliquez sur l’icône Nettoyer et Publish .

Une fois cette opération terminée, votre package devrait être exécuté sur votre instance. Lors de l’enregistrement, toute modification est automatiquement synchronisée avec l’instance.

Si vous souhaitez recréer un package à partir de votre projet, cliquez avec le bouton droit de la souris sur PROJECT.ui.apps ou PROJECT.ui.content et choisissez Exécuter en tant que > Installation Maven.

Vous avez maintenant créé un dossier cible avec votre module à l’intérieur (appelé, par exemple, PROJECT.ui.apps-0.0.1-SNAPSHOT.zip).

Résolution des problèmes troubleshooting

Résolution d’une définition de projet non valide resolving-invalid-project-definition

Pour résoudre des dépendances et une définition de projet non valides, procédez comme suit :

  1. Sélectionnez tous les projets créés.
  2. Faites un clic-droit.
  3. Dans le menu contextuel, sélectionnez Maven > Mettre à jour les projets.
  4. Cochez Force Updates of Snapshot/Releases (Forcer les mises à jour d’instantané/de versions).
  5. Cliquez sur OK.

Eclipse télécharge les dépendances requises. Cela peut prendre un moment.

Informations supplémentaires more-information

Le site Web officiel Apache Sling IDE tooling for Eclipse fournit des informations utiles :

La documentation officielle Eclipse suivante peut vous aider à configurer votre environnement :

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab