Maven Resources Plugin

Maven Resources Plugin

1. Visão geral

Este tutorial descreve o plug-inresources, um dos plug-ins principais da ferramenta de construção Maven.

Para uma visão geral dos outros plug-ins principais, consultethis article.

2. Objetivos do plugin

The resources plugin copies files from input resource directories to an output directory. Este plugin tem três objetivos, que são diferentes apenas em como os recursos e diretórios de saída são especificados.

Os três objetivos deste plugin são:

  • resources – copia recursos que fazem parte do código-fonte principal para o diretório de saída principal

  • testResources copia recursos que fazem parte do código-fonte do teste para o diretório de saída do teste

  • copy-resources copia arquivos de recursos arbitrários para um diretório de saída, exigindo que especificemos os arquivos de entrada e o diretório de saída

Vamos dar uma olhada no pluginresources nopom.xml:


    maven-resources-plugin
    3.0.2
    
        ...
    

Podemos encontrar a versão mais recente deste pluginhere.

3. Exemplo

Suponha que desejamos copiar arquivos de recursos do diretórioinput-resources para o diretóriooutput-resources e queremos excluir todos os arquivos que terminam com a extensão.png.

Estes requisitos são satisfeitos com esta configuração:


    output-resources
    
        
            input-resources
            
                *.png
            
            true
        
    

A configuração se aplica a todas as execuções do pluginresources.

Por exemplo, quando o objetivoresources deste plugin é executado com o comandomvn resources:resources, todos os recursos do diretórioinput-resources, exceto os arquivos PNG, serão copiados paraoutput-resources .

Como, por padrão, a metaresources está vinculada à faseprocess-resources no ciclo de vida Mavendefault, podemos executar essa meta e todas as fases anteriores executando o comandomvn process-resources.

Na configuração fornecida, há um parâmetro denominadofiltering com o valor detrue. The filtering parameter is used to replace placeholder variables in the resource files.

Por exemplo, se tivermos uma propriedade no POM:


    example

e um dos arquivos de recurso contém:

Welcome to ${resources.name}!

a variável será avaliada no recurso de saída e o arquivo resultante conterá:

Welcome to example!

4. Conclusão

Neste artigo rápido, examinamos o plug-inresources e demos instruções sobre como usá-lo e personalizá-lo.

O código-fonte completo deste tutorial pode ser encontradoover on GitHub.