Plug-in Maven do pacote de conteúdo do Adobe adobe-content-package-maven-plugin
Use o plug-in Adobe Content Package Maven para integrar tarefas de implantação e gerenciamento de pacotes em seus projetos Maven.
A implantação dos pacotes construídos no AEM é realizada pelo plug-in Adobe Content Package Maven e permite a automação das tarefas normalmente realizadas usando o AEM Gerenciador de pacotes:
- Crie novos pacotes a partir de arquivos no sistema de arquivos.
- Instale e desinstale pacotes no AEM.
- Criar pacotes que já estão definidos no AEM.
- Obtenha uma lista de pacotes que estão instalados no AEM.
- Remover um pacote do AEM.
Este documento detalha como usar o Maven para gerenciar essas tarefas. No entanto, também é importante compreender como os projetos AEM e seus pacotes são estruturados.
- A variável
content-package-maven-plugin
O não é mais compatível com pacotes da versão 1.0.2. - Este artigo descreve as implantação dos pacotes construídos para o AEM é executado pelo plug-in Adobe Content Package Maven.
Pacotes e a estrutura do projeto AEM aem-project-structure
O AEM as a Cloud Service segue as práticas recomendadas mais recentes para o gerenciamento de pacotes e a estrutura do projeto, conforme implementado pelo Arquétipo de projeto AEM mais recente.
Obter o plug-in Maven do pacote de conteúdo obtaining-the-content-package-maven-plugin
O plug-in está disponível no Repositório central Maven.
Metas e parâmetros do plug-in Maven do pacote de conteúdo
Para usar o Plug-in Maven do pacote de conteúdo, adicione o seguinte elemento de plug-in dentro do elemento de build do seu arquivo 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>
Para permitir que o Maven baixe o plug-in, use o perfil fornecido na Obter o plug-in Maven do pacote de conteúdo nesta página.
Metas do plug-in Maven do pacote de conteúdo goals-of-the-content-package-maven-plugin
As metas e os parâmetros de meta fornecidos pelo plug-in do Pacote de conteúdo são descritos nas seções a seguir. Os parâmetros descritos na seção Parâmetros Comuns podem ser usados para a maioria das metas. Os parâmetros que se aplicam a uma meta são descritos na seção para essa meta.
Prefixo do plug-in plugin-prefix
O prefixo do plug-in é content-package
. Use esse prefixo para executar uma meta a partir da linha de comando, como no exemplo a seguir:
mvn content-package:build
Prefixo do parâmetro parameter-prefix
A menos que indicado de outra forma, as metas e os parâmetros do plug-in usam o vault
como no exemplo a seguir:
mvn content-package:install -Dvault.targetURL="https://192.168.1.100:4502/crx/packmgr/service.jsp"
Proxies proxies
Metas que usam proxies para AEM usam a primeira configuração de proxy válida encontrada nas configurações Maven. Se nenhuma configuração de proxy for encontrada, nenhum proxy será usado. Consulte a useProxy
parâmetro no Parâmetros comuns seção.
Parâmetros comuns common-parameters
Os parâmetros na tabela a seguir são comuns a todas as metas, exceto quando anotados na variável Metas coluna.
failOnError
boolean
false
true
causa falha na criação quando ocorre um erro. Um valor de false
faz com que a build ignore o erro.package
name
String
build
: Sim, install
: Não, rm
: Simbuild
: Sem padrão, install
: o valor de artifactId
propriedade do projeto 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
faz com que o Maven use a primeira configuração de proxy ativa encontrada para solicitações de proxy para o Gerenciador de pacotes.package
userId
String
admin
package
verbose
boolean
false
package
build build
Cria um pacote de conteúdo que já está definido em uma instância do AEM.
Parâmetros parameters
Todos os parâmetros da meta de build estão descritos no Parâmetros comuns seção.
instalar install
Instala um pacote no repositório. A execução dessa meta não requer um projeto Maven. A meta está vinculada à variável install
fase do ciclo de vida de compilação Maven.
Parâmetros parameters-1
Além dos parâmetros a seguir, consulte as descrições nas Parâmetros comuns seção.
artifact
String
artifactId
propriedade do projeto MavengroupId:artifactId:version[:packaging]
artifactId
String
groupId
String
groupId
do artefato a ser instaladoinstall
boolean
true
localRepository
org.apache.maven.artifact.repository.ArtifactRepository
localRepository
variável de sistemapackageFile
java.io.File
packaging
String
zip
pomRemoteRepositories
java.util.List
remoteArtifactRepositories
propriedade definida para o projeto Mavenproject
org.apache.maven.project.MavenProject
repositoryId
(POM), repoID
(linha de comando)String
temp
repositoryUrl
(POM), repoURL
(linha de comando)String
ls ls
Lista os pacotes implantados em Gerenciador de pacotes.
Parâmetros parameters-2
Todos os parâmetros da meta ls estão descritos no Parâmetros comuns seção.
rm rm
Remove um pacote de Gerenciador de pacotes.
Parâmetros parameters-3
Todos os parâmetros da meta do rm estão descritos na Parâmetros comuns seção.
desinstalar uninstall
Desinstala um pacote. O pacote permanece no servidor no estado desinstalado.
Parâmetros parameters-4
Todos os parâmetros da meta de desinstalação estão descritos no Parâmetros comuns seção.
pacote package
Cria um pacote de conteúdo. A configuração padrão da meta do pacote inclui o conteúdo do diretório onde os arquivos compilados são salvos. A execução da meta do pacote exige que a fase de compilação tenha sido concluída. A meta do pacote é vinculada à fase do pacote do ciclo de vida de compilação Maven.
Parâmetros parameters-5
Além dos parâmetros a seguir, consulte a descrição da variável name
parâmetro no Parâmetros comuns seção.
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
causa falha na criação quando um artefato incorporado não é encontrado nas dependências do projeto. Um valor de false
faz com que a build ignore esses erros.filterSource
java.io.File
filters
com.day.jcr.vault.maven.pack.impl.DefaultWorkspaceFilter
filter.xml
arquivo. Consulte a Utilização de filtros abaixo.finalName
java.lang.String
finalName
definido no projeto Maven (fase de compilação).zip
extensão de arquivogroup
java.lang.String
groupID
definido no projeto MavengroupId
do pacote de conteúdo gerado que faz parte do caminho de instalação de destino do pacote de conteúdooutputDirectory
java.io.File
prefix
java.lang.String
project
org.apache.maven.project.MavenProject
properties
java.util.Map
properties.xml
arquivo. Essas propriedades não podem substituir as seguintes propriedades predefinidas: group
(use group
parâmetro a definir), name
(use name
parâmetro a definir), version
(use version
parâmetro a definir), description
(definido a partir da descrição do projeto), groupId
(groupId
do descritor de projeto Maven), artifactId
(artifactId
do descritor de projeto Maven), dependencies
(use dependencies
parâmetro a definir), createdBy
(o valor da variável user.name
propriedade do sistema), created
(a hora atual do sistema), requiresRoot
(use requiresRoot
parâmetro a definir), packagePath
(gerado automaticamente a partir do grupo e do nome do pacote)requiresRoot
boolean
requiresRoot
propriedade do properties.xml
arquivo.subPackages
java.util.List
version
java.lang.String
workDirectory
java.io.File
Utilização de filtros using-filters
Use o elemento filters para definir o conteúdo do pacote. Os filtros são adicionados à variável workspaceFilter
elemento na META-INF/vault/filter.xml
do pacote.
O exemplo de filtro a seguir mostra a estrutura XML a ser usada:
<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>
Modo de importação import-mode
A variável mode
element define como o conteúdo é o repositório é afetado quando o pacote é importado. Os seguintes valores podem ser usados:
- Mesclar: O conteúdo do pacote que ainda não está no repositório é adicionado. O conteúdo que está no pacote e no repositório permanece inalterado. Nenhum conteúdo é removido do repositório.
- Substituir: O conteúdo do pacote que não está no repositório é adicionado ao repositório. O conteúdo no repositório é substituído pelo conteúdo correspondente no pacote. O conteúdo é removido do repositório quando não existe no pacote.
- Atualizar: O conteúdo do pacote que não está no repositório é adicionado ao repositório. O conteúdo no repositório é substituído pelo conteúdo correspondente no pacote.
Quando o filtro não contém mode
elemento, o valor padrão de replace
é usada.
Ajuda com o help
Parâmetros parameters-6
detail
boolean
false
goal
String
indentSize
int
2
lineLength
int
80
Inclusão de uma imagem em miniatura ou arquivo de propriedades no pacote including-a-thumbnail-image-or-properties-file-in-the-package
Substitua os arquivos de configuração de pacote padrão para personalizar as propriedades do pacote. Por exemplo, inclua uma imagem em miniatura para distinguir o pacote em Gerenciador de pacotes.
Os arquivos de origem podem estar localizados em qualquer lugar do sistema de arquivos. No arquivo POM, defina os recursos de build para copiar os arquivos de origem para o target/vault-work/META-INF
para inclusão no pacote.
O código POM a seguir adiciona os arquivos na variável META-INF
pasta da origem do projeto para o pacote:
<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>
O código POM a seguir adiciona apenas uma imagem em miniatura ao pacote. A imagem em miniatura deve ser nomeada thumbnail.png
e devem estar localizados no META-INF/vault/definition
pasta do pacote. Neste exemplo, o arquivo de origem está localizado no /src/main/content/META-INF/vault/definition
pasta do projeto:
<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>
Uso do Arquétipo de Projeto AEM para Gerar Projetos AEM using-archetypes
O Arquétipo de projeto AEM mais recente implementa a estrutura do pacote de práticas recomendadas para implementações locais e AMS e é recomendado para todos os projetos AEM.