Outils de développement AEM pour Eclipse
- Rubriques :
- Développement
Créé pour :
- Administration
- Développeur
Vue d’ensemble
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
Avant d’utiliser AEM Developer Tools, vous devez :
- Téléchargez et installez l’IDE Eclipse pour les développeurs Enterprise Java™.
- Configurez l’installation d’Eclipse pour vous assurer de disposer d’au moins 1 Go de mémoire de segment en modifiant votre fichier de configuration
eclipse.ini
de la manière décrite dans les questions fréquentes Eclipse.
eclipse.ini
.Comment installer AEM Developer Tools pour Eclipse
Une fois les conditions préalables ci-dessus réunies, vous pouvez installer le plug-in comme suit :
-
Ouvrez le site Web AEM Developer Tools.
-
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.
-
Dans Eclipse, ouvrez le menu Aide.
-
Cliquez sur Installer un nouveau logiciel.
-
Cliquez sur Add… (Ajouter).
-
Dans le champ Nom, saisissez
AEM Developer Tools
. -
Dans le champ Emplacement, copiez l’URL d’installation.
-
Cliquez sur Add (Ajouter).
-
Cochez les plug-ins AEM et Sling.
-
Cliquez sur Next (Suivant).
-
Dans la fenêtre Install Details (Détails de l’installation), cliquez de nouveau sur Next (Suivant).
-
Acceptez les contrats de licence et cliquez sur Finish (Terminer).
-
Cliquez sur Redémarrer maintenant pour redémarrer Eclipse.
La perspective d’AEM
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 :
- Dans la barre de menus Eclipse, sélectionnez Fenêtre > Perspective > Ouvrir la perspective > Autre.
- Sélectionnez AEM dans la boîte de dialogue et cliquez sur Ouvrir.
Exemple de projet multi-module
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 :
-
Dans le menu Fichier > Nouveau > Projet, accédez à la section AEM et sélectionnez Exemple de projet multi-module AEM.
-
Cliquez sur Next (Suivant).
NOTE
Cette étape peut prendre un certain temps, car m2eclipse doit analyser les catalogues d’archétypes. -
Sélectionnez
com.adobe.granite.archetypes : sample-project-archetype : <highest-number>
dans le menu, puis cliquez sur Next (Suivant). -
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.
-
Cliquez sur Next (Suivant).
-
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 :
-nofork -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=10123
-
Cliquez sur Finish (Terminer). La structure du projet est créée.
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
Vous pouvez utiliser la fonction Nouveau projet pour créer la structure qui vous convient :
-
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
etPROJECT.it.tests
pour les tests d’intégration
-
Remplacez le contenu de votre projet
PROJECT.ui.apps
par les dossiersapps
etetc
de votre package :- Dans le panneau Project Explorer (Explorateur de projets), développez
PROJECT.ui.apps
>src
>main
>content
>jcr_root
>apps
. - Cliquez avec le bouton droit sur le dossier
apps
et choisissez Afficher dans > Explorateur système. - Supprimez les dossiers
apps
etetc
que vous devriez voir maintenant et placez ici les dossiersapps
etetc
de votre package de contenu. - Dans Eclipse, cliquez avec le bouton droit sur le projet
PROJECT.ui.apps
et sélectionnez Actualiser.
- Dans le panneau Project Explorer (Explorateur de projets), développez
-
Faites ensuite de même pour
PROJECT.ui.content
et remplacez son dossier de contenu par celui de vos packages :- Dans le panneau Project Explorer (Explorateur de projets), développez
PROJECT.ui.content
>src
>main
>content
>jcr_root
>content
. - Cliquez avec le bouton droit sur le dossier de contenu le plus profond et sélectionnez Afficher dans > Explorateur système.
- Supprimez le dossier de contenu que vous devriez voir maintenant et placez ici le dossier de contenu de votre package de contenu.
- Dans Eclipse, cliquez avec le bouton droit sur le projet
PROJECT.ui.content
et sélectionnez Actualiser.
- Dans le panneau Project Explorer (Explorateur de projets), développez
-
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 fichierMETA-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
:
<?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>
- Voici un exemple de l’aspect que peut avoir votre fichier
-
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.-
Dans Eclipse, ouvrez
PROJECT.ui.apps/src/main/content/META-INF/filter.xml
. -
Remplacez le contenu de l’élément
<workspaceFilter>
par les règles de votre package qui commencent par/apps
et/etc
.-
Par exemple :
<?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>
-
-
Ouvrez ensuite
PROJECT.ui.content/src/main/content/META-INF/filter.xml
. -
Remplacez les règles par celles de votre package qui commencent par
/content
.-
Par exemple :
<?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>
-
-
-
Veillez à enregistrer toutes vos modifications. Vous pouvez désormais synchroniser ce nouveau contenu avec votre instance AEM.
-
Dans le panneau Servers (Serveurs), assurez-vous que votre connexion est démarrée. Si ce n’est pas le cas, démarrez-la.
-
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 le PROJECT.ui.apps
ou le PROJECT.ui.content
, puis sélectionnez Exécuter en tant que > Installation Maven.
Vous disposez désormais d’un dossier cible contenant votre package (nommé par exemple PROJECT.ui.apps-0.0.1-SNAPSHOT.zip
).
Résolution des problèmes
Résolution d’une définition de projet non valide
Pour résoudre des dépendances et une définition de projet non valides, procédez comme suit :
- Sélectionnez tous les projets créés.
- Faites un clic-droit.
- Dans le menu contextuel, sélectionnez Maven > Mettre à jour les projets.
- Cochez Force Updates of Snapshot/Releases (Forcer les mises à jour d’instantané/de versions).
- Cliquez sur OK.
Eclipse télécharge les dépendances requises. Cela peut prendre un moment.
Informations supplémentaires
Le site Web officiel Apache Sling IDE tooling for Eclipse fournit des informations utiles :
- Le guide d’utilisation Apache Sling IDE tooling for Eclipse vous guide parmi les concepts généraux, l’intégration des serveurs et les fonctionnalités de déploiement pris en charge par AEM Development Tools.
- La section Dépannage.
- La liste des problèmes connus.
La documentation officielle Eclipse suivante peut vous aider à configurer votre environnement :