Plug-in Maven Build Analyzer do SDK do AEM as a Cloud Service maven-analyzer-plugin
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.
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.
api-regions-exportsimportsVerifica se todos os pacotes OSGI têm suas declarações de pacote de importação satisfeitas pela declaração de pacote de exportação de outros pacotes incluídos no projeto do 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.
bundle-unversioned-packagesVerifica 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.
requirements-capabilitiesVerifica se todas as declarações de requisitos feitas em pacotes OSGI são satisfeitas pelas declarações de capacidades de outros pacotes incluídos no projeto do 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.
bundle-resourcesFornece 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.
api-regions
api-regions-check-order
api-regions-dependencies
api-regions-duplicates
api-regions-crossfeature-dupsValida que os pacotes OSGi do cliente não têm declaraçõ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.
repoinitbundle-nativecodeconfiguration-apiValida 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)
region-deprecated-apiVerifica 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)
artifact-rulesValida 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)
aem-env-varVerifica 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)
content-package-validationExecuta 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.
aem-provider-typeconfigurations-basicProblemas 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>