En este artículo explicaremos los pasos involucrados en la inclusión del paquete OSGi de terceros en su proyecto AEM. A los efectos de este artículo, incluiremos el jsch-0.1.55.jar en nuestro proyecto AEM. SI el OSGi está disponible en el repositorio maven, incluya la dependencia del paquete en el archivo POM.xml del proyecto.
Se supone que el jar de terceros es un paquete OSGi
<!-- https://mvnrepository.com/artifact/com.jcraft/jsch -->
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.55</version>
</dependency>
Si el paquete OSGi está en el sistema de archivos, cree una carpeta llamada localjar en el directorio base de su proyecto (C:\aemformsbundles\AEMFormsProcessStep\localjar) la dependencia se verá algo así
<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>
Estamos agregando este paquete a nuestro proyecto AEM AEMFormsProcessStep que reside en el c:\aemformsbundles carpeta
Abra el filter.xml de C:\aemformsbundles\AEMFormsProcessStep\all\src\main\content\META-INF\vault folder of your project Make a note of the root attribute of the filter element.
Cree la siguiente estructura de carpetas C:\aemformsbundles\AEMFormsProcessStep\all\src\main\content\jcr_root\apps\AEMFormsProcessStep-vendor-packages\application\install
La variable apps/AEMFormsProcessStep-provider-packages es el valor del atributo raíz en filter.xml
Actualizar la sección de dependencias del POM.xml del proyecto
Abra el símbolo del sistema. Vaya a la carpeta de su proyecto (c:\aemformsbundles\AEMFormsProcessStep) en mi caso. Ejecute el siguiente comando
mvn clean install -PautoInstallSinglePackage
Si todo va bien, el paquete se instala junto con el paquete de terceros en la instancia de AEM. Puede comprobar si el paquete utiliza consola web felix. El paquete de terceros está disponible en la carpeta /apps de la crx
repositorio como se muestra a continuación