Incluir pacotes de terceiros em seu projeto AEM
Neste artigo, abordaremos as etapas envolvidas na inclusão do pacote OSGi de terceiros no seu projeto AEM. Para o propósito deste artigo, incluiremos o jsch-0.1.55.jar no nosso projeto AEM. Se o OSGi estiver disponível no repositório Maven, inclua a dependência do pacote no arquivo POM.xml do projeto.
<!-- https://mvnrepository.com/artifact/com.jcraft/jsch -->
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.55</version>
</dependency>
Se o pacote OSGi estiver em seu sistema de arquivos, crie uma pasta chamada localjar no diretório base do seu projeto (C:\aemformsbundles\AEMFormsProcessStep\localjar), a dependência será semelhante a
<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>
Criar a estrutura de pastas
Estamos adicionando este pacote ao nosso projeto AEM AEMFormsProcessStep que resida na c:\aemformsbundles pasta
-
Abra o filter.xml da pasta C:\aemformsbundles\AEMFormsProcessStep\all\src\main\content\META-INF\vault do seu projeto Anote o atributo raiz do elemento filter.
-
Crie a seguinte estrutura de pastas C:\aemformsbundles\AEMFormsProcessStep\all\src\main\content\jcr_root\apps\AEMFormsProcessStep-vendor-packages\application\install
-
A variável apps/AEMFormsProcessStep-vendor-packages é o valor do atributo raiz no filter.xml
-
Atualize a seção de dependências do POM.xml do projeto
-
Abra o prompt de comando. Acesse a pasta do projeto (c:\aemformsbundles\AEMFormsProcessStep), no meu caso. Execute o seguinte comando
mvn clean install -PautoInstallSinglePackage
Se tudo correr bem, o pacote será instalado junto com o pacote de terceiros na instância do AEM. Você pode verificar o pacote usando felix web console. O pacote de terceiros está disponível na pasta /apps do crx
repositório como mostrado abaixo