Resolução de avisos de uso de biblioteca obsoleta para ch.qos.logback e APIs removidas no Cloud Manager
O Cloud Manager relata o uso obsoleto da biblioteca para ch.qos.logback ou outras APIs removidas durante as etapas de compilação, qualidade de código ou implantação. Esses avisos vêm de versões desatualizadas do ACS AEM Commons, de um classificador Maven incorreto ou de um código do cliente que faz referência direta a APIs removidas. Em alguns casos, as referências de Logback se originam de pacotes de plataformas gerenciadas pela Adobe e não exigem alterações por parte do cliente. A identificação da fonte exata — versão do ACS Commons, incompatibilidade do classificador, código do cliente ou tempo de execução do Adobe — determina a correção correta.
Descrição description
Problema: os sinalizadores do Cloud Manager descontinuaram o ch.qos.logback ou removeram o uso da API durante as verificações de qualidade de build ou código
Descrição
Alertas da Central de Ações da Cloud Manager ou falhas de pipeline indicam uso obsoleto de ch.qos.logback ou outras APIs removidas. Estes avisos aparecem na fase de compilação em region-deprecated-api ou configuration-api verificações. A causa raiz varia: versões desatualizadas do ACS AEM Commons extraem o Logback de forma transitiva, o classificador Maven errado é usado, referências de código do cliente APIs removidas ou pacotes internos gerenciados pela Adobe registram o Logback no tempo de execução sem afetar a build.
Ambiente:
- Adobe Experience Manager as a Cloud Service (AEMaaCS)
- Cloud Manager (build, qualidade de código e pipelines de implantação)
- ACS AEM Commons
Problema/sintomas:
- Os logs de compilação do Cloud Manager mostram:
Usage of deprecated package found : ch.qos.logback.* : This internal logback API is not supported by AEM as a Cloud Service - Logs em tempo de execução contêm entradas como
ServiceEvent REGISTERED [ ch.qos.logback.core.filter.Filter]mesmo quando o código do cliente não usa Logback - Falha na compilação com erros relacionados às APIs obsoletas, como
RequestResponseFactory - O Analisador de código relata erros como
Service.ranking is not of type Integerou avisos degroovy-all:2.4.15 - Falhas de pré-compilador JSP aparecem após a atualização dos ACS Commons:
File tld:http://sling.apache.org/taglibs/sling/1.0 not found
Causa raiz:
Avisos de biblioteca obsoleta ocorrem quando o Cloud Manager detecta o uso de APIs agendadas para remoção. Os pacotes ACS AEM Commons mais antigos incluem ch.qos.logback transitivamente, e usar o classificador ACS Commons no local no AEMaaCS também aciona esse aviso. O código do cliente que faz referência às APIs descontinuadas no Cloud Service — como com.day.cq.contentsync.handler.util.RequestResponseFactory — produz falhas semelhantes. As referências de logback de pacotes de plataformas gerenciadas pela Adobe não causarão bloqueios de implantação e não exigirão ação do cliente.
Como confirmar
-
Revise os logs de compilação do Cloud Manager para entradas que fazem referência a
ch.qos.logback.*,groovy-all:2.4.15,com.day.cq.contentsync.handler.util, ou versões de pacote ACS Commons. Se os logs não estiverem acessíveis, baixe-os por meio de Cloud Manager>Pipelines>Execução>Logs. -
Confirme a versão exata do ACS Commons localizando linhas como
com.adobe.acs:acs-aem-commons-bundle:5.2.0ou avisos referenciando o Logback. -
Execute uma árvore de dependência completa do Maven para verificar se há versões conflitantes:
code language-none mvn dependency:tree -Dincludes=com.adobe.acs:acs-aem-commons* -
Procure nos arquivos de propriedade do cliente qualquer referência direta de Logback:
-
Windows:
code language-none findstr /S /N /I "ch.qos.logback" pom.xml *.xml *.yml *.yaml
-
Resolução resolution
-
Incompatibilidade de versão ou classificador ACS Commons (mais comum): Verifique a
all/pom.xmldo seu projeto para a dependência ACS Commons. Verifique se<classifier>cloud</classifier>está presente e se a versão é pelo menos6.11.0. A entrada deve ser semelhante a:code language-none <groupId>com.adobe.acs</groupId> <artifactId>acs-aem-commons-all</artifactId> <version>6.16.0</version> <classifier>cloud</classifier>
Se versões conflitantes aparecerem na árvore de dependência, remova quaisquer referências diretas ou transitivas a compilações ACS Commons mais antigas.
2. Referência de código do cliente a APIs removidas: Procure na sua base de código por pacotes obsoletos sinalizados nos logs do Cloud Manager. Substitua os usos de APIs removidas, como RequestResponseFactory, pelas APIs do construtor Sling (org.apache.sling.api.request.builder.Builders ou SlingUriBuilder). Execute novamente a Verificação de código do Cloud Manager para confirmar se nenhum aviso de API obsoleto permanece.
3. Falhas de pré-compilador de JSP após uma atualização de ACS Commons: Adicione a dependência Sling JSP Taglib ao seu módulo ui.apps com scope=provided:
"
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.scripting.jsp.taglib</artifactId>
<version>2.4.0</version>
<scope>fornecido</scope>
"
Execute novamente o pipeline e confirme se o erro tld not found desapareceu.
4. erros de configuração do aemanalyser em versões posteriores: Se a versão 1.6.16 retornar erros como Service.ranking is not of type Integer, alterne para a versão 1.6.4 ou 1.6.14. Execute o pipeline novamente e confirme se ele foi concluído sem erros do analisador.
5. groovy-all:2.4.15 sinalizado como obsoleto: Substitua pela variante do Console Groovy Orbinson:
"
<groupId>be.orbinson.aem</groupId>
<artifactId>aem-groovy-console-all</artifactId>
<version>19.0.8</version>
<type>zip</type>
"
A etapa Confirmar Qualidade do Código não informa groovy-all avisos. Se o Groovy Console não estiver em uso, remova-o totalmente.
6. Referências de logon somente de pacotes gerenciados pela Adobe: se a Qualidade do Código não mostrar avisos de biblioteca obsoletos e as únicas entradas de Logback forem linhas somente de tempo de execução, como ServiceEvent REGISTERED [ ch.qos.logback.core.filter.Filter] em logs — sem avisos na etapa de compilação — nenhuma ação é necessária. Eles são originários de pacotes de plataforma da Adobe e não bloqueiam a implantação.
7. Validar: Inicie uma nova verificação de código ou execução de pipeline completo. Confirme se os logs da compilação não mostram nenhuma entrada ch.qos.logback em region-deprecated-api e nenhum aviso de API obsoleto para o código do cliente ou ACS Commons.