Maven Resources Plugin

Maven Resources Plugin

1. Überblick

Dieses Tutorial beschreibt dasresources-Plugin, eines der Kern-Plugins des Maven-Build-Tools.

Eine Übersicht über die anderen Core-Plugins finden Sie unterthis article.

2. Plugin Ziele

The resources plugin copies files from input resource directories to an output directory. Dieses Plugin hat drei Ziele, die sich nur darin unterscheiden, wie die Ressourcen- und Ausgabeverzeichnisse angegeben werden.

Die drei Ziele dieses Plugins sind:

  • resources – Kopierressourcen, die Teil des Hauptquellcodes sind, in das Hauptausgabeverzeichnis

  • testResources Kopierressourcen, die Teil des Testquellcodes sind, in das Testausgabeverzeichnis

  • copy-resources kopieren beliebige Ressourcendateien in ein Ausgabeverzeichnis, wobei wir die Eingabedateien und das Ausgabeverzeichnis angeben müssen

Werfen wir einen Blick auf dasresources-Plugin inpom.xml:


    maven-resources-plugin
    3.0.2
    
        ...
    

Wir können die neueste Version dieses Pluginshere finden.

3. Beispiel

Angenommen, wir möchten Ressourcendateien aus dem Verzeichnisinput-resources in das Verzeichnisoutput-resources kopieren und alle Dateien ausschließen, die mit der Erweiterung.png enden.

Diese Anforderungen werden mit dieser Konfiguration erfüllt:


    output-resources
    
        
            input-resources
            
                *.png
            
            true
        
    

Die Konfiguration gilt für alle Ausführungen des Pluginsresources.

Wenn beispielsweise dasresources-Ziel dieses Plugins mit dem Befehlmvn resources:resources ausgeführt wird, werden alle Ressourcen aus dem Verzeichnisinput-resources mit Ausnahme von PNG-Dateien nachoutput-resources kopiert .

Da das Ziel vonresourcestandardmäßig an die Phase vonprocess-resourcesim Lebenszyklus von Mavendefaultgebunden ist, können wir dieses Ziel und alle vorhergehenden Phasen ausführen, indem wir den Befehlmvn process-resourcesausführen. s.

In der angegebenen Konfiguration gibt es einen Parameter namensfiltering mit dem Werttrue. The filtering parameter is used to replace placeholder variables in the resource files.

Wenn wir zum Beispiel eine Eigenschaft im POM haben:


    example

und eine der Ressourcendateien enthält:

Welcome to ${resources.name}!

Dann wird die Variable in der Ausgaberessource ausgewertet und die resultierende Datei enthält:

Welcome to example!

4. Fazit

In diesem kurzen Artikel haben wir das Pluginresourcesdurchgesehen und Anweisungen zur Verwendung und Anpassung gegeben.

Den vollständigen Quellcode für dieses Tutorial finden Sie unterover on GitHub.