Insteekmodule Adobe-inhoudspakket adobe-content-package-maven-plugin
Met de plug-in Adobe Content Package Maven kunt u taken voor pakketimplementatie en -beheer integreren in uw Maven-projecten.
De plaatsing van de geconstrueerde pakketten aan AEM wordt uitgevoerd door de Insteekmodule van het Pakket van de Inhoud van de Adobe Maven en laat de automatisering van taken toe normaal die gebruikend AEM worden uitgevoerd Pakketbeheer:
- Nieuwe pakketten maken van bestanden in het bestandssysteem.
- Installeer en verwijder pakketten op AEM.
- Bouw pakketten die reeds op AEM worden bepaald.
- Verkrijg een lijst van pakketten die op AEM geïnstalleerd zijn.
- Een pakket uit AEM verwijderen.
In dit document wordt beschreven hoe u deze taken beheert met de Maven. Het is echter ook van belang om te begrijpen hoe AEM projecten en hun pakketten gestructureerd zijn .
- De
content-package-maven-plugin
ondersteunt geen pakket meer uit versie 1.0.2. - In dit artikel worden de implementatie van de geconstrueerde pakketten die moeten worden AEM, wordt uitgevoerd door de Adobe Content Package Maven plugin.
Pakketten en de AEM projectstructuur aem-project-structure
AEM as a Cloud Service houdt zich aan de recentste beste praktijken voor pakketbeheer en projectstructuur zoals uitgevoerd door het recentste Archetype van AEM Project.
De insteekmodule voor het inhoudspakket verkrijgen obtaining-the-content-package-maven-plugin
De insteekmodule is beschikbaar via de Centrale gegevensopslagruimte.
Doelstellingen en parameters van insteekmodule voor inhoudspakket
Als u de insteekmodule Inhoudspakket met Maven wilt gebruiken, voegt u het volgende insteekmodule toe in het element build van het POM-bestand:
<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>
Gebruik het profiel in het dialoogvenster De insteekmodule voor het inhoudspakket verkrijgen op deze pagina.
Doelstellingen van de plug-in Inhoudspakket goals-of-the-content-package-maven-plugin
De doelstellingen en doelparameters die de insteekmodule van het Pakket van de Inhoud verstrekt worden beschreven in de secties die volgen. De parameters die in de Gemeenschappelijke sectie van Parameters worden beschreven kunnen voor de meeste doelstellingen worden gebruikt. De parameters die op één doel van toepassing zijn worden beschreven in de sectie voor dat doel.
Plug-voorvoegsel plugin-prefix
Het voorvoegsel van de plug-in is content-package
. Gebruik dit voorvoegsel om een doel uit te voeren vanaf de opdrachtregel, zoals in het volgende voorbeeld:
mvn content-package:build
Parametervoorvoegsel parameter-prefix
Tenzij anders vermeld, gebruiken de doelstellingen en de parameters van de plug-in vault
voorvoegsel, zoals in het volgende voorbeeld:
mvn content-package:install -Dvault.targetURL="https://192.168.1.100:4502/crx/packmgr/service.jsp"
Proxy proxies
De doelstellingen die volmachten voor AEM gebruiken de eerste geldige volmachtsconfiguratie die in de GeMaven montages wordt gevonden. Als geen volmachtsconfiguratie wordt gevonden, wordt geen volmacht gebruikt. Zie de useProxy
in de Algemene parameters sectie.
Algemene parameters common-parameters
De parameters in de volgende tabel zijn gemeenschappelijk voor alle doelstellingen, behalve wanneer ze in de Doelen kolom.
failOnError
boolean
false
true
veroorzaakt de bouwstijl om te ontbreken wanneer een fout voorkomt. Een waarde van false
zorgt ervoor dat de build de fout negeert.package
name
String
build
: Ja, install
: Nee, rm
: Jabuild
: Geen standaard, install
: De waarde van de artifactId
eigendom van het Maven-projectls
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
oorzaken Maven om de eerste actieve volmachtsconfiguratie te gebruiken die aan volmachtsverzoeken aan de Manager van het Pakket wordt gevonden.package
userId
String
admin
package
verbose
boolean
false
package
build build
Bouwt een inhoudspakket dat reeds op een AEM instantie wordt bepaald.
Parameters parameters
Alle parameters voor het bouwstijldoel worden beschreven in Algemene parameters sectie.
installeren install
Hiermee installeert u een pakket in de opslagplaats. Voor de verwezenlijking van dit doel is geen Maven-project vereist. Het doel is gebonden aan de install
fase van de levenscyclus van de Maven-build.
Parameters parameters-1
Naast de volgende parameters, zie de beschrijvingen in Algemene parameters sectie.
artifact
String
artifactId
eigendom van het Maven-projectgroupId:artifactId:version[:packaging]
artifactId
String
groupId
String
groupId
van het te installeren artefactinstall
boolean
true
localRepository
org.apache.maven.artifact.repository.ArtifactRepository
localRepository
systeemvariabelepackageFile
java.io.File
packaging
String
zip
pomRemoteRepositories
java.util.List
remoteArtifactRepositories
eigenschap die is gedefinieerd voor het Maven-projectproject
org.apache.maven.project.MavenProject
repositoryId
(POM), repoID
(opdrachtregel)String
temp
repositoryUrl
(POM), repoURL
(opdrachtregel)String
ls ls
Maakt een lijst van de pakketten die worden opgesteld aan Pakketbeheer.
Parameters parameters-2
Alle parameters van het doel ls worden beschreven in Algemene parameters sectie.
rm rm
Een pakket verwijderen uit Pakketbeheer.
Parameters parameters-3
Alle parameters van het rm-doel worden beschreven in de Algemene parameters sectie.
verwijderen uninstall
Hiermee wordt een pakket verwijderd. Het pakket blijft op de server staan in de toestand Niet-geïnstalleerd.
Parameters parameters-4
Alle parameters van het doel voor verwijderen worden beschreven in het dialoogvenster Algemene parameters sectie.
package package
Maakt een inhoudspakket. De standaardconfiguratie van het pakketdoel omvat de inhoud van de folder waar de gecompileerde dossiers worden bewaard. De uitvoering van het pakketdoel vereist dat de compilatiefase is voltooid. Het pakketdoel is gebonden aan de pakketfase van de Maven-levenscyclus.
Parameters parameters-5
Naast de volgende parameters, zie de beschrijving van name
in de Algemene parameters sectie.
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
veroorzaakt de bouwstijl om te ontbreken wanneer een ingebed artefact niet in de projectgebiedsdelen wordt gevonden. Een waarde van false
zorgt ervoor dat de build dergelijke fouten negeert.filterSource
java.io.File
filters
com.day.jcr.vault.maven.pack.impl.DefaultWorkspaceFilter
filter.xml
bestand. Zie de Filters gebruiken hieronder.finalName
java.lang.String
finalName
gedefinieerd in het Maven-project (bouwfase).zip
bestandsextensiegroup
java.lang.String
groupID
gedefinieerd in het Maven-projectgroupId
van het gegenereerde inhoudspakket dat deel uitmaakt van het doelinstallatiepad voor het inhoudspakketoutputDirectory
java.io.File
prefix
java.lang.String
project
org.apache.maven.project.MavenProject
properties
java.util.Map
properties.xml
bestand. Deze eigenschappen kunnen de volgende vooraf gedefinieerde eigenschappen niet overschrijven: group
(gebruik group
in te stellen parameter), name
(gebruik name
in te stellen parameter), version
(gebruik version
in te stellen parameter), description
(op basis van de projectbeschrijving), groupId
(groupId
van de Maven-projectdescriptor), artifactId
(artifactId
van de Maven-projectdescriptor), dependencies
(gebruik dependencies
in te stellen parameter), createdBy
(de waarde van de user.name
systeemeigenschap), created
(de huidige systeemtijd), requiresRoot
(gebruik requiresRoot
in te stellen parameter), packagePath
(wordt automatisch gegenereerd op basis van de groep en de pakketnaam)requiresRoot
boolean
requiresRoot
eigendom van de properties.xml
bestand.subPackages
java.util.List
version
java.lang.String
workDirectory
java.io.File
Filters gebruiken using-filters
Gebruik het element filters om de pakketinhoud te definiëren. De filters worden toegevoegd aan de workspaceFilter
in het META-INF/vault/filter.xml
bestand van het pakket.
In het volgende filtervoorbeeld wordt de XML-structuur getoond die moet worden gebruikt:
<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>
Importmodus import-mode
De mode
element definieert hoe inhoud wordt beïnvloed door de repository wanneer het pakket wordt geïmporteerd. De volgende waarden kunnen worden gebruikt:
- Samenvoegen: Inhoud in het pakket die zich nog niet in de opslagplaats bevindt, wordt toegevoegd. De inhoud in zowel het pakket als de opslagplaats blijft ongewijzigd. Er wordt geen inhoud uit de opslagplaats verwijderd.
- Vervangen: Inhoud in het pakket die zich niet in de opslagplaats bevindt, wordt toegevoegd aan de opslagplaats. Inhoud in de opslagplaats wordt vervangen door overeenkomende inhoud in het pakket. Inhoud wordt verwijderd uit de opslagplaats wanneer deze niet bestaat in het pakket.
- Bijwerken: Inhoud in het pakket die zich niet in de opslagplaats bevindt, wordt toegevoegd aan de opslagplaats. Inhoud in de opslagplaats wordt vervangen door overeenkomende inhoud in het pakket.
Wanneer het filter geen mode
-element, de standaardwaarde van replace
wordt gebruikt.
help help
Parameters parameters-6
detail
boolean
false
goal
String
indentSize
int
2
lineLength
int
80
Een miniatuurafbeelding of eigenschappenbestand opnemen in het pakket including-a-thumbnail-image-or-properties-file-in-the-package
Vervang de standaardpakketconfiguratiebestanden om de pakketeigenschappen aan te passen. Neem bijvoorbeeld een miniatuurafbeelding om het pakket te onderscheiden in Pakketbeheer.
U kunt de bronbestanden overal in uw bestandssysteem vinden. Definieer in het POM-bestand build-bronnen om de bronbestanden naar de target/vault-work/META-INF
voor opname in het pakket.
De volgende POM-code voegt de bestanden toe aan de META-INF
map van de projectbron naar het pakket:
<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>
Met de volgende POM-code wordt alleen een miniatuurafbeelding aan het pakket toegevoegd. De miniatuurafbeelding moet een naam hebben thumbnail.png
en moet zich in de META-INF/vault/definition
van het pakket. In dit voorbeeld bevindt het bronbestand zich in het dialoogvenster /src/main/content/META-INF/vault/definition
map van het project:
<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>
Het gebruiken van het AEM Archetype van het Project om AEM Projecten te produceren using-archetypes
De nieuwste AEM Project Archetype implementeert de pakketstructuur met best practices voor zowel de implementatie op locatie als in AMS en wordt aanbevolen voor alle AEM projecten.