AEM as a Cloud Service SDK Build Analyzer Maven Plugin maven-analyzer-plugin

Den AEM as a Cloud Service SDK Build Analyzer Maven Plugin analyserar strukturen för de olika innehållspaketprojekten.

Se Maven Plugin - dokumentation om du vill ha information om hur du tar med det i ett AEM maven-projekt.

NOTE
Vi rekommenderar att du uppdaterar ditt Maven-projekt så att det refererar till den senaste versionen av plugin-programmet i Maven central databas.

Plugin-programmet använder den senaste tillgängliga SDK:n i stället för den som konfigurerats i projektet.

Nedan finns en tabell som beskriver de analysatorer som körs som en del av det här steget.

Modul
Funktion, exempel och felsökning
Lokal SDK
Cloud Manager
api-regions-exportsimports

Kontrollerar om alla OSGi-paket har sina Import-Package-deklarationer nöjda med exportpaketdeklarationen för andra inkluderade paket i Maven-projektet. Ett fel skulle se ut så här:

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

Om du vill felsöka kontrollerar du om paketet som innehåller paketet ingår i distributionen eller också tittar du i manifestet för paketet som du förväntar dig att exportera för att avgöra om fel namn eller version användes.

Ja
Ja
bundle-unversioned-packages

Kontrollerar om OSGi-paket anger en version med en Export-Package-deklaration och ett versionsintervall med en Import-Package-deklaration. Ett fel skulle se ut så här:

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

Om du vill felsöka måste du lägga till en package-info.java till det paketet som anger vilken version som ska exporteras.

Ja
Ja
requirements-capabilities

Kontrollerar om alla kravdeklarationer som gjorts i OSGi-paket uppfylls av kapacitetsdeklarationerna för andra paket som ingår i Maven-projektet. Ett fel skulle se ut så här:

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

Om du vill felsöka kan du titta i det manifest i paketet som du förväntade dig ska deklarera en funktion för att avgöra varför den saknas, eller kontrollera i manifestet för det paket som kräver det för att se att kraven i det är korrekta.

Ja
Ja
bundle-content

Ger en varning om ett paket innehåller ursprungligt innehåll som anges med Sling-Initial-Content, vilket är problematiskt i den AEM as a Cloud Service klustermiljön. Varningen ser ut så här:

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

Information om hur du felsöker konvertering av det ursprungliga innehållet till poinit-satser finns i Referenshandbok.

Ja
Ja
bundle-resources

Ger en varning om ett paket innehåller resurser som har angetts med huvudet Sling-Bundle-Resources, vilket är problematiskt i den AEM as a Cloud Service klustermiljön. Varningen ser ut så här:

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

Information om hur du felsöker konvertering av resurser till repoinit-satser finns i Öppna dokumentation.

Ja
Ja

api-regions

api-regions-check-order

api-regions-dependencies

api-regions-duplicates

Dessa analytiker kontrollerar viss information om konverteringsprocess för innehållspaket till modell som skapar artefakter som överensstämmer med Sling Feature Model. Alla fel ska rapporteras till Adobe kundsupport.
Ja
Ja
api-regions-crossfeature-dups

Verifierar att kundens OSGi-paket inte har exportpaketdeklarationer som åsidosätter AEM as a Cloud Service allmänna API:er

[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

Sluta exportera ett paket som är en del av det AEM offentliga API:t för att åtgärda problemet.

Ja
Ja
repoinit
Kontrollerar syntaxen för alla ompekande avsnitt
Ja
Ja
bundle-nativecode
Verifierar att OSGi-paket inte installerar systemspecifik kod.
Ja
Ja
configuration-api

Validerar viktiga OSGi-konfigurationer.

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)

Ja
Ja
region-deprecated-api

Kontrollerar om inaktuell api används

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

Ja
Ja
artifact-rules

Validerar beroenden som paket och innehållspaket för att förhindra kända problem i artefakter.

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

Ja
Ja
aem-env-var

Kontrollerar användningen av env-variabler enligt variabelnamnguide

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

Ja
Ja
content-package-validation

Kör filevault-validerare. Som standard är Jackrabbit-docviewparser aktiverat, vilket kontrollerar om det finns en korrekt formaterad innehållssyntax för XML i paket som ska installeras under distributionen.

[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

Åtgärda problemet genom att kontrollera om det finns XML-problem i filen som analyseraren har namngett.

Ja
Ja

Kända fel

Nedan finns en lista med kända fel när du använder Build Analyzer Maven Plugin.

Det gick inte att köra Build Analyzer Maven Plugin i Local SDK

När du använder lokal SDK med en Build Analyzer Maven Plugin-version som är lägre än 1.1.2om du kör plugin-programmet kan det resultera i följande fel. I så fall uppdaterar du projektet till den senaste versionen av plugin-programmet.

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

Om du använde AEM Project Archetype för att konfigurera ditt projekt måste du justera egenskapen i rotmappen Maven pom.xml som nedan.

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