Plug-in Maven Build Analyzer do SDK do AEM as a Cloud Service

Última atualização em 2023-05-20
  • Criado para:
  • Developer
    Admin

O plug-in Maven Build Analyzer do SDK do AEM as a Cloud Service analisa a estrutura dos vários projetos de pacotes de conteúdo.

Consulte a documentação do Plug-in Maven para obter informações sobre como incluí-lo em um projeto maven do AEM.

OBSERVAÇÃO

Recomenda-se atualizar seu projeto Maven para fazer referência à versão mais recente do plug-in encontrada no repositório central Maven, neste local: https://repo1.maven.org/maven2/com/adobe/aem/aemanalyser-maven-plugin/

O plug-in usa o SDK disponível mais recente do que o configurado no projeto.

A tabela abaixo descreve os analisadores que são executados como parte dessa etapa.

Módulo Função, exemplo e solução de problemas SDK local Cloud Manager
api-regions-exportsimports Verifica se todos os pacotes OSGI têm as suas instruções de Pacote de Importação satisfeitas pela instrução de Pacote de Exportação de outros pacotes incluídos no projeto Maven. Um erro seria semelhante a:

 

[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 problemas, consulte se o pacote está incluído na implantação ou, como alternativa, verifique o manifesto do pacote que você espera exportar para determinar se o nome errado ou a versão incorreta foi usada.
Sim Sim
bundle-unversioned-packages Verifica se os pacotes OSGi especificam uma versão com uma declaração de Pacote de exportação e um intervalo de versões com uma declaração de Pacote de importação. Um erro seria semelhante a:

 

[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, adicione um package-info.java a esse pacote especificando a versão a ser exportada.
Sim Sim
requirements-capabilities Verifica se todas as declarações de requisitos feitas em pacotes OSGI são satisfeitas pelas instruções de recursos de outros pacotes incluídos no projeto Maven. Um erro seria semelhante a:

 

[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 problemas, verifique o manifesto do pacote que você esperaria declarar um recurso para determinar por que ele está ausente, ou verifique no manifesto do pacote que exige para ver se o requisito está correto.
Sim Sim
bundle-content Fornece um aviso se um pacote contiver conteúdo inicial especificado com Sling-Initial-Content, o que é problemático no ambiente clusterizado do AEM as a Cloud Service. O aviso tem esta aparência:

 

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

 

Para solucionar problemas de conversão do conteúdo inicial em instruções de repoinit, consulte a Documentação de Repoinit.
Sim Sim
bundle-resources Fornece um aviso se um pacote contiver recursos especificados com o cabeçalho Sling-Bundle-Resources, o que é problemático no ambiente clusterizados do AEM as a Cloud Service. O aviso tem esta aparência:

 

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

 

Para solucionar problemas de conversão de recursos em instruções de repoinit, consulte a Documentação de Repoinit.
Sim Sim
api-regions

 

api-regions-check-order

 

api-regions-dependencies

 

api-regions-duplicates
Esses analisadores verificam alguns detalhes relacionados ao pacote de conteúdo para o processo de conversão do modelo de recurso que cria artefatos em conformidade com o Modelo de recurso do Sling. Quaisquer erros devem ser relatados ao Suporte ao cliente da Adobe. Sim Sim
api-regions-crossfeature-dups Valida que os pacotes OSGi do cliente não têm instruções de pacote de exportação que substitui a API pública do 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 corrigir, pare de exportar um pacote que faz parte da API pública do AEM.
Sim Sim
repoinit Verifica a sintaxe de todas as seções de repoinit. Sim Sim
bundle-nativecode Valida que os pacotes OSGi não instalam o código nativo. Sim Sim
configuration-api Valida configurações OSGi importantes.

 

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)
Sim Sim
region-deprecated-api Verifica se API obsoleta é usada

 

[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)
Sim Sim
artifact-rules Valida dependências como pacotes de conteúdo para evitar problemas conhecidos em artefatos.

 

[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)
Sim Sim
aem-env-var Verifica o uso de variáveis de ambiente de acordo com o guia de nomenclatura da variável

 

[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)
Sim Sim
content-package-validation Executa validadores de cofre de arquivos. Por padrão, jackrabbit-docviewparser está habilitado, o que verifica a sintaxe de conteúdo bem formada de xml dentro de pacotes que serão instalados durante a implantação.

 

[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

 

Para corrigir, verifique se há problemas de xml no arquivo nomeado pelo analisador.
Sim Sim

Problemas conhecidos

Abaixo está uma lista de problemas conhecidos ao usar o plug-in Build Analyzer Maven.

Falha ao executar o plug-in Build Analyzer Maven no SDK local

Ao usar o SDK local com uma versão do plug-in Build Analyzer Maven inferior a 1.1.2, a execução do plug-in pode resultar no erro abaixo. Nesse caso, atualize o projeto para a versão mais recente do plug-in.

[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]

Se você usou o Arquétipo de projeto do AEM para configurar seu projeto, ajuste a propriedade no Maven raiz pom.xml como mostrado abaixo.

   ...
   <properties>
      ...
      <aemanalyser.version>1.1.2</aemanalyser.version> <!-- Make sure to use the latest release -->
      ...
   </properties>

Nesta página