Expand Authors Top

If you have a few years of experience in the Java ecosystem and you’d like to share that with the community, have a look at our Contribution Guidelines.

Expanded Audience – Frontegg – Security (partner)
announcement - icon User management is very complex, when implemented properly. No surprise here.

Not having to roll all of that out manually, but instead integrating a mature, fully-fledged solution - yeah, that makes a lot of sense.
That's basically what Frontegg is - User Management for your application. It's focused on making your app scalable, secure and enjoyable for your users.
From signup to authentication, it supports simple scenarios all the way to complex and custom application logic.

Have a look:

>> Elegant User Management, Tailor-made for B2B SaaS

Generic Top

Get started with Spring 5 and Spring Boot 2, through the Learn Spring course:


1. Overview

This tutorial describes the resources plugin, one of the core plugins of the Maven build tool.

For an overview of the other core plugins, refer to this article.

2. Plugin Goals

The resources plugin copies files from input resource directories to an output directory. This plugin has three goals, which are different only in how the resources and output directories are specified.

The three goals of this plugin are:

  • resources – copy resources that are part of the main source code to the main output directory
  • testResources copy resources that are part of the test source code to the test output directory
  • copy-resources copy arbitrary resource files to an output directory, requiring us to specify the input files and the output directory

Let's take a look at the resources plugin in the pom.xml:


We can find the latest version of this plugin here.

3. Example

Assume we want to copy resource files from the directory input-resources to the directory output-resources and we want to exclude all files ending with the extension .png.

These requirements are satisfied with this configuration:


The configuration applies to all executions of the resources plugin.

For example, when the resources goal of this plugin is executed with the command mvn resources:resources, all resources from the input-resources directory, except for PNG files, will be copied to output-resources.

Since, by default, the resources goal is bound to the process-resources phase in the Maven default lifecycle, we can execute this goal and all the preceding phases by running the command mvn process-resources.

In the given configuration, there's a parameter named filtering with the value of true. The filtering parameter is used to replace placeholder variables in the resource files.

For instance, if we have a property in the POM:


and one of the resource files contains:

Welcome to ${resources.name}!

then the variable will be evaluated in the output resource, and the resulting file will contain:

Welcome to Baeldung!

4. Conclusion

In this quick article, we went over the resources plugin and gave instructions on using and customizing it.

The complete source code for this tutorial can be found over on GitHub.

Next »
Maven Compiler Plugin
Generic bottom

Get started with Spring 5 and Spring Boot 2, through the Learn Spring course:

Maven footer banner
Comments are closed on this article!