Complemento Build Analyzer de Maven del SDK de AEM as a Cloud Service maven-analyzer-plugin

El complemento Build Analyzer de Maven del SDK de AEM as a Cloud Service analiza la estructura de los distintos proyectos de paquetes de contenido.

Consulte la documentación del complemento de Maven para obtener información sobre cómo incluirlo en un proyecto de Maven en AEM.

NOTE
Se recomienda actualizar el proyecto Maven para que haga referencia a la última versión del complemento que se encuentra en el repositorio central de Maven.

El complemento utiliza el SDK disponible más reciente que el configurado en el proyecto.

A continuación se muestra una tabla que describe los analizadores que se ejecutan como parte de este paso.

Módulo
Función, ejemplo y resolución de problemas
SDK local
Cloud Manager
api-regions-exportsimports

Comprueba si todos los paquetes OSGI tienen sus declaraciones Import-Package satisfechas con la declaración Export-package de otros paquetes incluidos en el proyecto Maven. Un error tendría este aspecto:

[ERROR] org.acme:mybundle:0.0.1-SNAPSHOT: Bundle org.acme:mybundle:0.0.1-SNAPSHOT is importing package(s) org.acme.foo in start level 20 but no bundle is exporting these for that start level.

Para solucionar el problema, consulte si el paquete que proporciona el paquete está incluido en la implementación o, alternativamente, observe el manifiesto del paquete que espera exportar para determinar si se ha utilizado un nombre o una verisón que no son correctos.

bundle-unversioned-packages

Comprueba si los paquetes OSGi especifican una versión con una declaración exportar-empaquetar y un intervalo de versiones con una declaración importar-empaquetar. Un error tendría este aspecto:

[ERROR] org.acme:mybundle:0.0.1-SNAPSHOT: Bundle org.acme:mybundle:0.0.1-SNAPSHOT is exporting package org.acme.foo without a version.

Para solucionar problemas, asegúrese de agregar package-info.java a ese paquete especificando la versión que desea exportar.

requirements-capabilities

Comprueba si todas las declaraciones de requisitos realizadas en paquetes OSGI se cumplen con las declaraciones de capacidades de otros paquetes incluidos en el proyecto Maven. Un error tendría este aspecto:

[ERROR] org.acme:mybundle:0.0.1-SNAPSHOT: Artifact org.acme:mybundle:0.0.1-SNAPSHOT requires org.foo.bar in start level 20 but no artifact is providing a matching capability in this start level.

Para solucionar el problema, observe el manifiesto del paquete que esperaría declarar una capacidad para determinar por qué falta, o compruebe el manifiesto del paquete que requiere para ver que el requisito en ahí es correcto.

bundle-content

Envía una advertencia si un paquete contiene contenido inicial especificado con Sling-Initial-Content, lo que resulta problemático en el AEM como entorno agrupado de Cloud Service. La advertencia tiene este aspecto:

[WARNING] org.acme:mybundle:0.0.1-SNAPSHOT: Found initial content : [/]

Para solucionar problemas al convertir el contenido inicial en instrucciones repoinit, consulte la documentación de Repoinit.

bundle-resources

Envía una advertencia si un paquete contiene recursos especificados con el encabezado Sling-Bundle-Resources, lo que resulta problemático en el entorno agrupado de AEM as a Cloud Service. La advertencia tiene este aspecto:

[WARNING] org.acme:mybundle:0.0.1-SNAPSHOT: Found bundle resources : [/libs/sling/explorer!/resources/explorer]

Para solucionar problemas al convertir los recursos a instrucciones Repoinit, consulte Documentación de Repoinit.

api-regions

api-regions-check-order

api-regions-dependencies

api-regions-duplicates

Estos analizadores comprueban algunos detalles relacionados con el paquete de contenido para el proceso de conversión del modelo de funciones que crea artefactos que se ajustan al Modelo de funciones de Sling. Cualquier error debe notificarse al Servicio de atención al cliente de Adobe.
api-regions-crossfeature-dups

Valida que los paquetes OSGI del cliente no tengan declaraciones de paquete de exportación que anulen la API pública de AEM as a Cloud Service

[WARNING] org.acme:mybundle:0.0.1-SNAPSHOT: Package overlap found between region global and bundle org.acme:mybundle:0.0.1.SNAPSHOT which comes from feature: [org.acme:myproject.analyse:slingosgifeature:0.0.1-SNAPSHOT]. Both export package: com.day.util

Para solucionarlo, deje de exportar un paquete que forme parte de la API pública de AEM.

repoinit
Comprueba la sintaxis de todas las secciones de repoinit
bundle-nativecode
Valida que los paquetes OSGI no instalen código nativo.
configuration-api

Valida configuraciones importantes de OSGi.

Configuration org.apache.felix.webconsole.internal.servlet.OsgiManager: Configuration is not allowed (com.mysite:mysite.all:1.0.0-SNAPSHOT|com.mysite:mysite.ui.config:1.0.0-SNAPSHOT)

region-deprecated-api

Comprueba si se utiliza una API obsoleta

[WARNING] com.mysite:mysite.core:1.0.0-SNAPSHOT: Usage of deprecated package found : org.apache.sling.settings : Avoid these features at runtime: run modes, file system access (com.mysite:mysite.all:1.0.0-SNAPSHOT)

artifact-rules

Valida dependencias como paquetes y paquetes de contenido para evitar problemas conocidos con artefactos.

[WARNING] [artifact-rules] com.adobe.acs:acs-aem-commons-bundle:5.0.4: Use at least version 5.0.10 (com.mysite:mysite.all:1.0.0-SNAPSHOT)

aem-env-var

Comprueba el uso de eVars env según la guía de nomenclatura de variables

[ERROR] Configuration org.apache.felix.webconsole.internal.servlet.OsgiManager: Value for property 'port' must not use env vars prefixed with INTERNAL_ or ADOBE_ (com.mysite1:my-site-1.all:1.0.0-SNAPSHOT|com.mysite1:my-site-1.ui.config:1.0.0-SNAPSHOT)

content-package-validation

Ejecuta los validadores de filevault. De forma predeterminada, jackrabbit-docviewparser está habilitado, así que comprueba la sintaxis de contenido bien formada del xml en los paquetes que se instalarán durante la implementación.

[main] WARN org.apache.sling.feature.analyser.task.impl.CheckContentPackages - ValidationViolation: "jackrabbit-docviewparser: Invalid XML found: The reference to entity "se" must end with the ';' delimiter.", filePath=jcr_root/apps/somename/configs/com.adobe.test.Invalid.xml, nodePath=/apps/somename/configs/com.adobe.test.Invalid

Como solución, compruebe si hay problemas con xml en el archivo denominado por el analizador.

Problemas conocidos

A continuación, se muestra una lista de problemas conocidos al utilizar el complemento Maven de Build Analyzer.

No se ha podido ejecutar el complemento Maven de Build Analyzer en el SDK local

Cuando se utiliza el SDK local con una versión del complemento Maven de Build Analyzer inferior a 1.1.2, la ejecución del complemento puede provocar el siguiente error. En este caso, actualice el proyecto a la última versión del complemento.

[ERROR] Failed to execute goal com.adobe.aem:aemanalyser-maven-plugin:1.1.0:analyse (default-analyse) on project mysite.analyse: Execution default-analyse of goal com.adobe.aem:aemanalyser-maven-plugin:1.1.0:analyse failed: arraycopy: source index -1 out of bounds for char[65536] -> [Help 1]

Si ha utilizado el tipo de archivo del proyecto de AEM para configurar el proyecto, asegúrese de ajustar la propiedad en el Maven raíz pom.xml como se muestra a continuación.

   ...
   <properties>
      ...
      <aemanalyser.version>1.1.2</aemanalyser.version> <!-- Make sure to use the latest release -->
      ...
   </properties>
recommendation-more-help
d2be9096-a81e-404b-9952-d8925af7219c