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.
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 |
Abaixo está uma lista de problemas conhecidos ao usar o plug-in Build Analyzer Maven.
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>