Plug-in Maven pacchetto di contenuti Adobe adobe-content-package-maven-plugin
Utilizza il plug-in Maven Adobe Content Package per integrare le attività di distribuzione e gestione dei pacchetti nei progetti Maven.
La distribuzione dei pacchetti costruiti all’AEM viene eseguita dal plug-in Maven per pacchetti di contenuti Adobi e consente l’automazione delle attività normalmente eseguite con l’AEM Gestione pacchetti:
- Creare nuovi pacchetti dai file nel file system.
- Installare e disinstallare pacchetti su AEM.
- Creare pacchetti già definiti in AEM.
- Ottieni un elenco dei pacchetti installati su AEM.
- Rimuovere un pacchetto dall’AEM.
Questo documento descrive come utilizzare Maven per gestire queste attività. Tuttavia è anche importante comprendere la struttura dei progetti AEM e dei relativi pacchetti.
- Il
content-package-maven-plugin
non supporta più la creazione di pacchetti dalla versione 1.0.2. - Questo articolo descrive distribuzione dei pacchetti costruiti per l’AEM viene eseguito dal plug-in Maven per il pacchetto di contenuti Adobe.
Pacchetti e struttura del progetto AEM aem-project-structure
AEM as a Cloud Service aderisce alle best practice più recenti per la gestione dei pacchetti e la struttura dei progetti, come implementato dal più recente Archetipo di progetto AEM.
Ottenere il plug-in Maven del pacchetto di contenuti obtaining-the-content-package-maven-plugin
Il plug-in è disponibile da Archivio centrale Maven.
Obiettivi e parametri del plug-in Maven del pacchetto di contenuti
Per utilizzare il plug-in Maven per pacchetto di contenuti, aggiungi il seguente elemento plug-in all’interno dell’elemento di build del file POM:
<plugin>
<groupId>com.day.jcr.vault</groupId>
<artifactId>content-package-maven-plugin</artifactId>
<version>1.0.4</version>
<configuration>
<!-- parameters and values common to all goals, as required -->
</configuration>
</plugin>
Per consentire a Maven di scaricare il plug-in, utilizza il profilo fornito in Ottenere il plug-in Maven del pacchetto di contenuti in questa pagina.
Obiettivi del plug-in Maven per pacchetto di contenuti goals-of-the-content-package-maven-plugin
Gli obiettivi e i parametri di obiettivo forniti dal plug-in Pacchetto di contenuti sono descritti nelle sezioni seguenti. I parametri descritti nella sezione Parametri comuni possono essere utilizzati per la maggior parte degli obiettivi. I parametri che si applicano a un obiettivo sono descritti nella sezione relativa a tale obiettivo.
Prefisso plug-in plugin-prefix
Il prefisso del plug-in è content-package
. Utilizza questo prefisso per eseguire un obiettivo dalla riga di comando, come nell’esempio seguente:
mvn content-package:build
Prefisso parametro parameter-prefix
Se non diversamente specificato, gli obiettivi e i parametri del plug-in utilizzano vault
come nell’esempio seguente:
mvn content-package:install -Dvault.targetURL="https://192.168.1.100:4502/crx/packmgr/service.jsp"
Proxy proxies
Per gli obiettivi che utilizzano i proxy per l’AEM viene utilizzata la prima configurazione proxy valida trovata nelle impostazioni Maven. Se non viene trovata alcuna configurazione proxy, non viene utilizzato alcun proxy. Consulta la useProxy
parametro in Parametri comuni sezione.
Parametri comuni common-parameters
I parametri riportati nella tabella seguente sono comuni a tutti gli obiettivi, tranne quando indicato nella Obiettivi colonna.
failOnError
boolean
false
true
causa un errore nella generazione. Un valore di false
fa in modo che la build ignori l’errore.package
name
String
build
: Sì, install
: No, rm
: Sìbuild
: nessun valore predefinito, install
: il valore della proprietà artifactId
proprietà del progetto Mavenls
password
String
admin
package
serverId
String
package
targetURL
String
http://localhost:4502/crx/packmgr/service.jsp
package
timeout
int
5
package
useProxy
boolean
true
true
fa in modo che Maven utilizzi la prima configurazione proxy attiva trovata per le richieste proxy al Gestione pacchetti.package
userId
String
admin
package
verbose
boolean
false
package
build build
Genera un pacchetto di contenuti già definito in un’istanza AEM.
Parametri parameters
Tutti i parametri per l’obiettivo di build sono descritti in Parametri comuni sezione.
installare install
Installa un pacchetto nel repository. L’esecuzione di questo obiettivo non richiede un progetto Maven. L’obiettivo è associato a install
fase del ciclo di vita della build Maven.
Parametri parameters-1
Oltre ai seguenti parametri, consulta le descrizioni in Parametri comuni sezione.
artifact
String
artifactId
proprietà del progetto MavengroupId:artifactId:version[:packaging]
artifactId
String
groupId
String
groupId
dell’artefatto da installareinstall
boolean
true
localRepository
org.apache.maven.artifact.repository.ArtifactRepository
localRepository
variabile di sistemapackageFile
java.io.File
packaging
String
zip
pomRemoteRepositories
java.util.List
remoteArtifactRepositories
proprietà definita per il progetto Mavenproject
org.apache.maven.project.MavenProject
repositoryId
(POM) repoID
(riga di comando)String
temp
repositoryUrl
(POM) repoURL
(riga di comando)String
ls ls
Elenca i pacchetti distribuiti in Gestione pacchetti.
Parametri parameters-2
Tutti i parametri dell’obiettivo ls sono descritti in Parametri comuni sezione.
rm rm
Rimuove un pacchetto da Gestione pacchetti.
Parametri parameters-3
Tutti i parametri dell'obiettivo rm sono descritti nel Parametri comuni sezione.
disinstalla uninstall
Disinstalla un pacchetto. Il pacchetto rimane nel server nello stato disinstallato.
Parametri parameters-4
Tutti i parametri dell'obiettivo di disinstallazione sono descritti in Parametri comuni sezione.
pacchetto package
Crea un pacchetto di contenuti. La configurazione predefinita dell'obiettivo del pacchetto include il contenuto della directory in cui vengono salvati i file compilati. L’esecuzione dell’obiettivo del pacchetto richiede che la fase di compilazione della build sia stata completata. L’obiettivo del pacchetto è associato alla fase del pacchetto del ciclo di vita della build Maven.
Parametri parameters-5
Oltre ai seguenti parametri, consulta la descrizione della name
parametro in Parametri comuni sezione.
archive
org.apache.maven.archiver.MavenArchiveConfiguration
builtContentDirectory
java.io.File
dependencies
java.util.List
embeddedTarget
java.lang.String
embeddeds
java.util.List
failOnMissingEmbed
boolean
false
true
genera un errore di compilazione quando un artefatto incorporato non viene trovato nelle dipendenze del progetto. Un valore di false
fa in modo che la build ignori tali errori.filterSource
java.io.File
filters
com.day.jcr.vault.maven.pack.impl.DefaultWorkspaceFilter
filter.xml
file. Consulta la Utilizzo dei filtri sezione successiva.finalName
java.lang.String
finalName
definito nel progetto Maven (fase di build).zip
estensione filegroup
java.lang.String
groupID
definito nel progetto MavengroupId
del pacchetto di contenuti generato che fa parte del percorso di installazione di destinazione per il pacchetto di contenutioutputDirectory
java.io.File
prefix
java.lang.String
project
org.apache.maven.project.MavenProject
properties
java.util.Map
properties.xml
file. Queste proprietà non possono sovrascrivere le seguenti proprietà predefinite: group
(utilizzare group
parametro da impostare), name
(utilizzare name
parametro da impostare), version
(utilizzare version
parametro da impostare), description
(ricavato dalla descrizione del progetto), groupId
(groupId
del descrittore di progetto Maven), artifactId
(artifactId
del descrittore di progetto Maven), dependencies
(utilizzare dependencies
parametro da impostare), createdBy
(il valore del user.name
proprietà di sistema), created
(l'ora di sistema corrente), requiresRoot
(utilizzare requiresRoot
parametro da impostare), packagePath
(generato automaticamente dal nome del gruppo e del pacchetto)requiresRoot
boolean
requiresRoot
proprietà del properties.xml
file.subPackages
java.util.List
version
java.lang.String
workDirectory
java.io.File
Utilizzo dei filtri using-filters
Utilizza l’elemento filters per definire il contenuto del pacchetto. I filtri vengono aggiunti al workspaceFilter
elemento nel META-INF/vault/filter.xml
del pacchetto.
Nell'esempio di filtro seguente viene illustrata la struttura XML da utilizzare:
<filter>
<root>/apps/myapp</root>
<mode>merge</mode>
<includes>
<include>/apps/myapp/install/</include>
<include>/apps/myapp/components</include>
</includes>
<excludes>
<exclude>/apps/myapp/config/*</exclude>
</excludes>
</filter>
Modalità di importazione import-mode
Il mode
definisce il modo in cui il contenuto viene influenzato dall’archivio quando il pacchetto viene importato. È possibile utilizzare i seguenti valori:
- Unisci: Vengono aggiunti contenuti nel pacchetto che non sono già presenti nell’archivio. Il contenuto presente sia nel pacchetto che nell’archivio rimane invariato. Nessun contenuto viene rimosso dall’archivio.
- Sostituisci: Il contenuto del pacchetto non presente nell’archivio viene aggiunto all’archivio. Il contenuto nell’archivio viene sostituito con il contenuto corrispondente nel pacchetto. Il contenuto viene rimosso dall’archivio quando non esiste nel pacchetto.
- Aggiorna: Il contenuto del pacchetto non presente nell’archivio viene aggiunto all’archivio. Il contenuto nell’archivio viene sostituito con il contenuto corrispondente nel pacchetto.
Se il filtro non contiene mode
, il valore predefinito di replace
viene utilizzato.
Aiuto di help
Parametri parameters-6
detail
boolean
false
goal
String
indentSize
int
2
lineLength
int
80
Inclusione di un'immagine di anteprima o di un file delle proprietà nel pacchetto including-a-thumbnail-image-or-properties-file-in-the-package
Sostituire i file di configurazione del pacchetto predefiniti per personalizzare le proprietà del pacchetto. Ad esempio, includi una miniatura per distinguere il pacchetto in Gestione pacchetti.
I file di origine possono trovarsi in qualsiasi punto del file system. Nel file POM, definisci le risorse di build per copiare i file sorgente in target/vault-work/META-INF
da includere nel pacchetto.
Il codice POM seguente aggiunge i file nel META-INF
cartella dell'origine del progetto nel pacchetto:
<build>
<resources>
<!-- vault META-INF resources (thumbnail and so on) -->
<resource>
<directory>${basedir}/src/main/content/META-INF</directory>
<targetPath>../vault-work/META-INF</targetPath>
</resource>
</resources>
</build>
Il codice POM seguente aggiunge al pacchetto solo un'immagine in miniatura. L'immagine di anteprima deve essere denominata thumbnail.png
, e deve trovarsi nel META-INF/vault/definition
cartella del pacchetto. In questo esempio, il file di origine si trova nel /src/main/content/META-INF/vault/definition
cartella del progetto:
<build>
<resources>
<!-- thumbnail only -->
<resource>
<directory>${basedir}/src/main/content/META-INF/vault/definition</directory>
<targetPath>../vault-work/META-INF/vault/definition</targetPath>
</resource>
</resources>
</build>
Utilizzo dell’archetipo del progetto AEM per generare progetti AEM using-archetypes
L’archetipo del progetto AEM più recente implementa la struttura di pacchetti di best practice sia per le implementazioni on-premise che per quelle AMS ed è consigliato per tutti i progetti AEM.