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 il 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.
Si presume che il file jar di terze parti sia un bundle OSGi
<!-- 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 avrà un aspetto simile al 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>
Stiamo aggiungendo questo pacchetto al nostro progetto AEM AEMFormsProcessStep che risiede in c:\aemformsbundles cartella
Apri filter.xml dalla cartella C:\aemformsbundles\AEMFormsProcessStep\all\src\main\content\META-INF\vault del progetto Prendi nota dell’attributo root dell’elemento filtro.
Crea la seguente struttura di cartelle C:\aemformsbundles\AEMFormsProcessStep\all\src\main\content\jcr_root\apps\AEMFormsProcessStep-vendor-packages\application\install
Il apps/AEMFormsProcessStep-vendor-packages è il valore dell'attributo principale 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 del file crx
archivio come mostrato di seguito