Inclusione di bundle di terze parti nel progetto AEM
In questo articolo esamineremo i passaggi necessari per includere il bundle OSGi di terze parti nel tuo progetto AEM. Ai fini di questo articolo includeremo jsch-0.1.55.jar nel nostro progetto AEM. SE l’OSGi è disponibile nell’archivio maven, includi la dipendenza del bundle nel file POM.xml del progetto.
<!-- https://mvnrepository.com/artifact/com.jcraft/jsch -->
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.55</version>
</dependency>
Se il bundle OSGi si trova nel file system, crea una cartella denominata localjar nella directory base del progetto(C:\aemformsbundles\AEMFormsProcessStep\localjar). La dipendenza sarà simile alla seguente
<dependency>
<groupId>jsch</groupId>
<artifactId>jsch</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/localjar/jsch-0.1.55-bundle.jar</systemPath>
</dependency>
Creare la struttura di cartelle
Stiamo aggiungendo questo bundle al progetto AEM AEMFormsProcessStep che si trova nella cartella c:\aemformsbundles
-
Apri filter.xml dalla cartella C:\aemformsbundles\AEMFormsProcessStep\all\src\main\content\META-INF\vault del progetto
Prendere nota dell'attributo root dell'elemento filter. -
Crea la seguente struttura di cartelle C:\aemformsbundles\AEMFormsProcessStep\all\src\main\content\jcr_root\apps\AEMFormsProcessStep-vendor-packages\application\install
-
apps/AEMFormsProcessStep-vendor-packages è il valore dell'attributo radice nel file filter.xml
-
Aggiornare la sezione delle dipendenze del file POM.xml del progetto
-
Apri il prompt dei comandi. Vai alla cartella del progetto (c:\aemformsbundles\AEMFormsProcessStep) nel mio caso. Esegui il comando seguente
mvn clean install -PautoInstallSinglePackage
Se tutto va bene, il pacchetto viene installato insieme al bundle di terze parti nell’istanza AEM. Puoi controllare il bundle utilizzando console Web Felix. Il bundle di terze parti è disponibile nella cartella /apps dell'archivio crx
come mostrato di seguito