Solución de las advertencias de uso de biblioteca obsoletas para ch.qos.logback y las API eliminadas en Cloud Manager
Cloud Manager informa del uso de bibliotecas obsoletas para ch.qos.logback u otras API eliminadas durante los pasos de compilación, calidad del código o implementación. Estas advertencias provienen de versiones obsoletas de ACS AEM Commons, un clasificador Maven incorrecto o código de cliente que hace referencia directamente a las API eliminadas. En algunos casos, las referencias de Logback se originan en paquetes de plataformas administrados por Adobe y no requieren ningún cambio por parte del cliente. La identificación de la fuente exacta (versión ACS Commons, discrepancia en el clasificador, código de cliente o tiempo de ejecución de Adobe) determina la corrección correcta.
Descripción description
Problema: Cloud Manager marca ch.qos.logback obsoleto o eliminó el uso de la API durante las comprobaciones de compilación o calidad del código
Descripción
Las alertas o errores de canalización del Centro de actividades de Cloud Manager indican un uso obsoleto de ch.qos.logback u otras API eliminadas. Estas advertencias aparecen en la fase de compilación en region-deprecated-api o configuration-api comprobaciones. La causa raíz varía: las versiones obsoletas de ACS AEM Commons extraen Logback de forma transitiva, se utiliza el clasificador Maven incorrecto, las referencias de código del cliente eliminan las API o los paquetes internos administrados por Adobe registran Logback en tiempo de ejecución sin afectar a la compilación.
Entorno:
- Adobe Experience Manager as a Cloud Service (AEMaaCS)
- Cloud Manager (compilación, calidad del código y canalizaciones de implementación)
- ACS AEM Commons
Problema/Síntomas:
- Los registros de compilación de Cloud Manager muestran:
Usage of deprecated package found : ch.qos.logback.* : This internal logback API is not supported by AEM as a Cloud Service - Los registros de tiempo de ejecución contienen entradas como
ServiceEvent REGISTERED [ ch.qos.logback.core.filter.Filter]incluso cuando el código del cliente no utiliza Logback - La compilación falla con errores relacionados con API obsoletas, como
RequestResponseFactory - El Analizador de código informa de errores como
Service.ranking is not of type Integero advertencias degroovy-all:2.4.15 - Los errores del precompilador de JSP aparecen después de actualizar ACS Commons:
File tld:http://sling.apache.org/taglibs/sling/1.0 not found
Causa principal:
Se producen advertencias de biblioteca obsoletas cuando Cloud Manager detecta el uso de API programadas para su eliminación. Los paquetes antiguos de ACS AEM Commons incluyen ch.qos.logback de forma transitiva, y el uso del clasificador local ACS Commons en AEMaaCS también déclencheur esta advertencia. El código de cliente que hace referencia a las API obsoletas en Cloud Service (como com.day.cq.contentsync.handler.util.RequestResponseFactory) produce errores similares. Las referencias de registro de los paquetes de plataformas administrados por Adobe no causarán bloques de implementación y no requieren la acción del cliente.
Cómo confirmar
-
Revise los registros de generación de Cloud Manager para las entradas que hacen referencia a
ch.qos.logback.*,groovy-all:2.4.15,com.day.cq.contentsync.handler.utilo a las versiones de paquete de ACS Commons. Si no se puede acceder a los registros, descárguelos a través de Cloud Manager>Canalizaciones>Ejecución>Registros. -
Confirme la versión exacta de ACS Commons localizando líneas como
com.adobe.acs:acs-aem-commons-bundle:5.2.0o advertencias que hagan referencia a Logback. -
Ejecute un árbol de dependencias Maven completo para comprobar si hay versiones en conflicto:
code language-none mvn dependency:tree -Dincludes=com.adobe.acs:acs-aem-commons* -
Busque en los archivos de propiedad del cliente cualquier referencia de Logback directa:
-
Windows:
code language-none findstr /S /N /I "ch.qos.logback" pom.xml *.xml *.yml *.yaml
-
Resolución resolution
-
La versión de ACS Commons o el clasificador no coinciden (lo más común): Compruebe la dependencia de ACS Commons en
all/pom.xmlde su proyecto. Asegúrese de que<classifier>cloud</classifier>esté presente y que la versión sea de al menos6.11.0. La entrada debe ser similar a:code language-none <groupId>com.adobe.acs</groupId> <artifactId>acs-aem-commons-all</artifactId> <version>6.16.0</version> <classifier>cloud</classifier>
Si aparecen versiones en conflicto en el árbol de dependencias, quite las referencias directas o transitivas a compilaciones antiguas de ACS Commons.
2. Código de cliente que hace referencia a las API eliminadas: Busque en su código base paquetes obsoletos marcados en los registros de Cloud Manager. Reemplace los usos de las API eliminadas, como RequestResponseFactory, por las API del generador de Sling (org.apache.sling.api.request.builder.Builders o SlingUriBuilder). Vuelva a ejecutar el análisis de código de Cloud Manager para confirmar que no quedan advertencias de API obsoletas.
3. Errores del precompilador JSP después de una actualización de ACS Commons: Agregue la dependencia Sling JSP Taglib a su módulo ui.apps con scope=provided:
"
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.scripting.jsp.taglib</artifactId>
<version>2.4.0</version>
<scope>proporcionado</scope>
"
Vuelva a ejecutar la canalización y confirme que el error tld not found ha desaparecido.
4. errores de configuración de aemanalyser en versiones posteriores: Si la versión 1.6.16 devuelve errores como Service.ranking is not of type Integer, cambie a la versión 1.6.4 o 1.6.14. Vuelva a ejecutar la canalización y confirme que se completa sin errores del analizador.
5. groovy-all:2.4.15 marcado como obsoleto: Reemplazar con la variante de la consola Orbinson Groovy:
"
<groupId>be.orbinson.aem</groupId>
<artifactId>aem-groovy-console-all</artifactId>
<version>19.0.8</version>
<type>zip</type>
"
Confirmar informes de pasos de calidad del código sobre advertencias de groovy-all. Si la Consola Groovy no está en uso, elimínela por completo.
6. Solo referencias de inicio de sesión de paquetes administrados por Adobe: Si Calidad del código no muestra advertencias de biblioteca obsoletas y las únicas entradas de inicio de sesión son líneas de tiempo de ejecución como ServiceEvent REGISTERED [ ch.qos.logback.core.filter.Filter] en registros (sin advertencias en el paso de compilación), no se requiere ninguna acción. Estos se originan en paquetes de plataformas de Adobe y no bloquean la implementación.
7. Validar: Inicie un nuevo análisis de código o ejecute la canalización completa. Confirmar registros de compilación no muestra ninguna entrada de ch.qos.logback en region-deprecated-api ni advertencias de API obsoletas para el código de cliente o ACS Commons.