Interrupção do serviço RDE após a implantação do AEM devido à falta de pacotes OSGi
A implantação de código no ambiente RDE do Adobe Experience Manager as a Cloud Service (AEMaaCS) causa uma interrupção de serviço quando pacotes OSGi de terceiros, como io.jsonwebtoken, não são resolvidos devido a restrições mais rigorosas de região de API. Para corrigir isso, incorpore os arquivos JAR necessários em seu projeto usando o Bundle-ClassPath ou o -conditionalpackage, reimplante usando o aio aem:rde:install e valide se todas as dependências foram resolvidas com êxito.
Descrição description
Ambiente
- Produto: Adobe Experience Manager as a Cloud Service (AEMaaCS) - Sites
- Contexto: RDE (Ambiente de Desenvolvimento Rápido)
- Ferramentas: comando
aio aem:rde:installpara implantação
Observação: as instâncias de nuvem padrão e as implantações locais permanecem inalteradas.
Problema/Sintomas
-
O ambiente RDE fica sem resposta após a implantação usando
aio aem:rde:install. -
A instância mostra uma mensagem "Interrupção de Serviço".
-
Reiniciar ou redefinir a instância não corrige o problema.
-
Os logs de erros mostram dependências de pacote OSGi de terceiros não resolvidas relacionadas a
io.jsonwebtoken. -
As dependências são resolvidas em ambientes de nuvem locais e padrão, mas falham no RDE devido a restrições mais rigorosas da região da API.
-
Trecho do log de erros:
Unable to resolve fpaec-aem-base-components.core 645: missing requirement fpaec-aem-base-components.core [ 645] osgi.wiring.package; (&(osgi.wiring.package=io.jsonwebtoken)(version>=0.11.0)(!(version>=1.0.0)))
Resolução resolution
Para resolver esse problema, siga estas etapas:
-
Revise as restrições da região da API impostas pelo RDE. Essas restrições limitam a visibilidade do pacote e bloqueiam o acesso a pacotes de terceiros como
io.jsonwebtoken. -
Incorpore bibliotecas obrigatórias de terceiros no seu projeto. Use
-conditionalpackageouBundle-ClassPathpara incluir os seguintes arquivos JAR:lib/jjwt-api-0.11.2.jarlib/jjwt-impl-0.11.2.jarlib/jjwt-jackson-0.11.2.jar
-
Adicione as seguintes instruções ao arquivo
bnd.bnd:code language-none Bundle-ClassPath: ., lib/jjwt-api-0.11.2.jar, lib/jjwt-impl-0.11.2.jar, lib/jjwt-jackson-0.11.2.jarcode language-none -conditionalpackage: \ io.jsonwebtoken;version="0.11.2", \ io.jsonwebtoken.security;version="0.11.2" -
Implante o pacote atualizado usando
aio aem:rde:install. Confirme se todas as dependências foram resolvidas e se a interrupção do serviço não ocorre mais. -
Teste a implantação nos ambientes do autor e de publicação para garantir a estabilidade.
Leitura relacionada
Como usar o Ambiente de Desenvolvimento Rápido no AEM