Plug-in Maven di Build Analyzer nel SDK di AEM as a Cloud Service maven-analyzer-plugin

Il Plug-in Maven di Build Analyzer nel Software Development Kit (SDK) di AEM as a Cloud Service analizza la struttura dei vari progetti di pacchetti di contenuti.

Per informazioni su come includerlo in un progetto Maven, di AEM, vedi la documentazione del Plug-in Maven.

NOTE
È consigliabile aggiornare il progetto Maven per fare riferimento all’ultima versione del plug-in presente nell’archivio centrale Maven.

Il Plug-in utilizza l’SDK più recente disponibile, anziché quello configurato nel progetto.

La tabella che segue descrive gli analizzatori eseguiti come parte di questo passaggio.

Modulo
Funzione, esempio e risoluzione dei problemi
SDK locale
Cloud Manager
api-regions-exportsimports

Verifica se la dichiarazione Export-Package di altri bundle inclusi nel progetto Maven soddisfa le dichiarazione Import-Package di tutti i bundle OSGI. Un errore è simile al seguente:

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

Per risolvere i problemi, verifica se il bundle che fornisce il pacchetto è incluso nella distribuzione oppure, in alternativa, esamina il manifesto del bundle che ritieni debba effettuare l’esportare per stabilire se è stato utilizzato il nome o la versione errata.

bundle-unversioned-packages

Verifica se i bundle OSGi specificano una versione con una dichiarazione Export-Package e un intervallo di versioni con una dichiarazione Import-Package. Un errore è simile al seguente:

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

Per la risoluzione dei problemi, assicurati di aggiungere una package-info.java al pacchetto specificando la versione da esportare.

requirements-capabilities

Verifica se le dichiarazioni delle funzionalità di altri bundle inclusi nel progetto Maven soddisfano tutte le dichiarazioni dei requisiti definite nei bundle OSGI. Un errore è simile al seguente:

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

Per risolvere i problemi, esamina il manifesto del bundle che ritieni debba dichiarare una funzionalità per stabilire il motivo della mancata dichiarazione oppure verifica nel manifesto del bundle richiedente se il requisito riportato è corretto.

bundle-content

Visualizza un avviso se un bundle include contenuto iniziale specificato con Sling-Initial-Content, che è problematico nell’ambiente a cluster di AEM as a Cloud Service. L’avviso si presenta così:

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

Per risolvere i problemi relativi alla conversione di contenuto iniziale in istruzioni Repoinit, vedi la documentazione di Repoinit.

bundle-resources

Visualizza un avviso se un bundle include contenuto iniziale specificato con l’intestazione Sling-Bundle-Resources, che è problematica nell’ambiente a cluster di AEM as a Cloud Service. L’avviso si presenta così:

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

Per risolvere i problemi relativi alla conversione delle risorse in istruzioni Repoinit, vedi la documentazione di Repoinit.

api-regions

api-regions-check-order

api-regions-dependencies

api-regions-duplicates

Questi analizzatori verificano alcuni dettagli del pacchetto di contenuti per il processo di conversione del modello di funzione che crea artefatti conformi al modello di funzione Sling. Eventuali errori devono essere segnalati all’Assistenza clienti di Adobe.
api-regions-crossfeature-dups

Verifica che i bundle OSGI del cliente non abbiano dichiarazioni Export-Package che sovrascrivano l’API pubblica di 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

Per risolvere il problema, evita di esportare un pacchetto che fa parte dell’API pubblica di AEM.

repoinit
Verifica la sintassi di tutte le sezioni Repoinit
bundle-nativecode
Verifica che i bundle OSGI non installino codice nativo.
configuration-api

Verifica importanti configurazioni 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

Verifica l’eventuale utilizzo di API obsolete

[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

Convalida le dipendenze come bundle e pacchetti di contenuto per evitare problemi noti negli artefatti.

[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

Verifica l’utilizzo delle variabili env in base alla Guida alla denominazione delle variabili

[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

Esegue i moduli di convalida del FileVault. Per impostazione predefinita, jackrabbit-docviewparser è abilitato e verifica che la sintassi del contenuto del codice XML sia corretta all’interno dei pacchetti che verranno installati durante l’implementazione.

[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

Per risolvere il problema, controlla il file denominato dall’analizzatore per i problemi XML.

Problemi noti

Di seguito è riportato un elenco di problemi noti durante l’utilizzo del plug-in Maven di Build Analyzer.

Impossibile eseguire il plug-in Maven di Build Analyzer nell’SDK locale

Quando utilizzi l’SDK locale con una versione del plug-in Maven di Build Analyzer precedente a 1.1.2, l’esecuzione del plug-in potrebbe causare l’errore seguente. In questo caso, aggiorna il progetto alla versione più recente del 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 hai utilizzato l’Archetipo progetto AEM per configurare il progetto, assicurati di regolare la proprietà nella radice Maven pom.xml come indicato di seguito.

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