Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I filter test resources in maven?

I have the following pom.xml. When I run mvn clean resources:testResources, my test resources aren't being filtered (replacing placeholders in resources before they are put, in their modified form, into the output folder). Why?

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">     <modelVersion>4.0.0</modelVersion>     <groupId>com.example</groupId>     <artifactId>foo</artifactId>     <version>0.0.1</version>     <packaging>jar</packaging>     <name>foo</name>      <dependencies>         <dependency>             <groupId>junit</groupId>             <artifactId>junit</artifactId>             <version>4.11</version>             <scope>test</scope>         </dependency>     </dependencies>      <build>         <resources>             <resource>                 <directory>src/test/resources</directory>                 <filtering>true</filtering>             </resource>         </resources>     </build> </project> 
like image 533
Heath Borders Avatar asked Jun 12 '14 04:06

Heath Borders


People also ask

What is resource filtering in Maven?

Resource Filtering. You can use Maven to perform variable replacement on project resources. When resource filtering is activated, Maven will scan resources for property references surrounded by ${ and }.

What is resource tag in POM XML?

The reference for the maven project descriptor (version 4.0) states that "this element describes all of the classpath resources associated with a project or unit tests" (link).


1 Answers

The resources and resource elements are for the resources:resources goal. resources:testResources uses testResources and testResource elements.

The correct pom.xml is:

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">     <modelVersion>4.0.0</modelVersion>     <groupId>com.example</groupId>     <artifactId>foo</artifactId>     <version>0.0.1</version>     <packaging>jar</packaging>     <name>foo</name>      <dependencies>         <dependency>             <groupId>junit</groupId>             <artifactId>junit</artifactId>             <version>4.11</version>             <scope>test</scope>         </dependency>     </dependencies>      <build>         <testResources>             <testResource>                 <directory>src/test/resources</directory>                 <filtering>true</filtering>             </testResource>         </testResources>     </build> </project> 
like image 108
Heath Borders Avatar answered Sep 30 '22 07:09

Heath Borders